diff options
Diffstat (limited to 'lib/msun/src/e_exp.c')
-rw-r--r-- | lib/msun/src/e_exp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/msun/src/e_exp.c b/lib/msun/src/e_exp.c index 5b9a10c..b47aef5 100644 --- a/lib/msun/src/e_exp.c +++ b/lib/msun/src/e_exp.c @@ -76,6 +76,8 @@ __FBSDID("$FreeBSD$"); * to produce the hexadecimal values shown. */ +#include <float.h> + #include "math.h" #include "math_private.h" @@ -133,7 +135,7 @@ __ieee754_exp(double x) /* default IEEE double exp */ hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ lo = t*ln2LO[0]; } - x = hi - lo; + STRICT_ASSIGN(double, x, hi - lo); } else if(hx < 0x3e300000) { /* when |x|<2**-28 */ if(huge+x>one) return one+x;/* trigger inexact */ |