Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 747f49ba authored by Steven Fuerst's avatar Steven Fuerst Committed by Alex Deucher
Browse files

Replace int2float() with an optimized version.



We use __fls() to find the most significant bit.  Using that, the
loop can be avoided.  A second trick is to use the behaviour of the
rotate instructions to expand the range of the unsigned int to float
conversion to the full 32 bits in a branchless way.

The routine is now exact up to 2^24.  Above that, we truncate which
is equivalent to rounding towards zero.

Signed-off-by: default avatarSteven Fuerst <svfuerst@gmail.com>
parent 7ff64fca
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment