diff options
Diffstat (limited to 'src/math/scalbn.c')
-rw-r--r-- | src/math/scalbn.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/math/scalbn.c b/src/math/scalbn.c index 003141e3..1fec432f 100644 --- a/src/math/scalbn.c +++ b/src/math/scalbn.c @@ -10,10 +10,8 @@ double scalbn(double x, int n) if (n > 1023) { x *= 0x1p1023; n -= 1023; - if (n > 1023) { - STRICT_ASSIGN(double, x, x * 0x1p1023); - return x; - } + if (n > 1023) + n = 1023; } } else if (n < -1022) { x *= 0x1p-1022; @@ -21,10 +19,8 @@ double scalbn(double x, int n) if (n < -1022) { x *= 0x1p-1022; n += 1022; - if (n < -1022) { - STRICT_ASSIGN(double, x, x * 0x1p-1022); - return x; - } + if (n < -1022) + n = -1022; } } INSERT_WORDS(scale, (uint32_t)(0x3ff+n)<<20, 0); |