diff options
-rw-r--r-- | libc/ChangeLog.eglibc | 6 | ||||
-rw-r--r-- | libc/math/libm-test.inc | 1 | ||||
-rw-r--r-- | libc/sysdeps/ieee754/flt-32/w_expf.c | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/libc/ChangeLog.eglibc b/libc/ChangeLog.eglibc index 512ea82bd..bf5a9112b 100644 --- a/libc/ChangeLog.eglibc +++ b/libc/ChangeLog.eglibc @@ -1,3 +1,9 @@ +2008-02-11 Joseph Myers <joseph@codesourcery.com> + + [BZ #3406] + * sysdeps/ieee754/flt-32/w_expf.c (o_threshold): Correct value. + * math/libm-test.inc (exp_test): Test 88.72269439697265625. + 2007-10-28 Joseph Myers <joseph@codesourcery.com> Backport: diff --git a/libc/math/libm-test.inc b/libc/math/libm-test.inc index 81dd364f7..9234240b8 100644 --- a/libc/math/libm-test.inc +++ b/libc/math/libm-test.inc @@ -2497,6 +2497,7 @@ exp_test (void) TEST_f_f (exp, 3, M_E3l); TEST_f_f (exp, 0.75L, 2.11700001661267466854536981983709561L); TEST_f_f (exp, 50.0L, 5184705528587072464087.45332293348538L); + TEST_f_f (exp, 88.72269439697265625L, 3.40233126623160774937554134772290447915e38L); #ifdef TEST_LDOUBLE /* The result can only be represented in long double. */ TEST_f_f (exp, 1000.0L, 0.197007111401704699388887935224332313e435L); diff --git a/libc/sysdeps/ieee754/flt-32/w_expf.c b/libc/sysdeps/ieee754/flt-32/w_expf.c index ad38fac0f..4ba21c7c4 100644 --- a/libc/sysdeps/ieee754/flt-32/w_expf.c +++ b/libc/sysdeps/ieee754/flt-32/w_expf.c @@ -29,7 +29,7 @@ static const float #else static float #endif -o_threshold= 8.8721679688e+01, /* 0x42b17180 */ +o_threshold= 8.8722831726e+01, /* 0x42b17217 */ u_threshold= -1.0397208405e+02; /* 0xc2cff1b5 */ #ifdef __STDC__ |