diff options
Diffstat (limited to 'lib/mlibc/options/ansi/musl-generic-math/scalbnf.c')
-rw-r--r-- | lib/mlibc/options/ansi/musl-generic-math/scalbnf.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/lib/mlibc/options/ansi/musl-generic-math/scalbnf.c b/lib/mlibc/options/ansi/musl-generic-math/scalbnf.c deleted file mode 100644 index a5ad208..0000000 --- a/lib/mlibc/options/ansi/musl-generic-math/scalbnf.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <math.h> -#include <stdint.h> - -float scalbnf(float x, int n) -{ - union {float f; uint32_t i;} u; - float_t y = x; - - if (n > 127) { - y *= 0x1p127f; - n -= 127; - if (n > 127) { - y *= 0x1p127f; - n -= 127; - if (n > 127) - n = 127; - } - } else if (n < -126) { - y *= 0x1p-126f * 0x1p24f; - n += 126 - 24; - if (n < -126) { - y *= 0x1p-126f * 0x1p24f; - n += 126 - 24; - if (n < -126) - n = -126; - } - } - u.i = (uint32_t)(0x7f+n)<<23; - x = y * u.f; - return x; -} |