diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-07-06 11:17:41 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-07-06 11:17:41 +0000 |
commit | f17ac40d7cb8e8c462476b6ab703262f6b8f6da8 (patch) | |
tree | b06be367df1701da97deb44092ddf8707d2e8db2 /math | |
parent | fb21f89b75d0152aa42efb6b620843799a4cd76b (diff) | |
download | glibc-f17ac40d7cb8e8c462476b6ab703262f6b8f6da8.tar.gz glibc-f17ac40d7cb8e8c462476b6ab703262f6b8f6da8.tar.xz glibc-f17ac40d7cb8e8c462476b6ab703262f6b8f6da8.zip |
Fix expm1 spurious underflow exceptions (bug 6778).
Diffstat (limited to 'math')
-rw-r--r-- | math/libm-test.inc | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/math/libm-test.inc b/math/libm-test.inc index 6adbb61dbc..b87a40d8d9 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -4039,12 +4039,32 @@ expm1_test (void) TEST_f_f (expm1, 11356.25L, 9.05128237311923300051376115753226014206e+4931L); #endif + TEST_f_f (expm1, -10.0, -0.9999546000702375151484644084844394493898L); + TEST_f_f (expm1, -16.0, -0.9999998874648252807408854862248209398728L); + TEST_f_f (expm1, -17.0, -0.9999999586006228121483334034897228104472L); + TEST_f_f (expm1, -18.0, -0.9999999847700202552873715638633707664826L); + TEST_f_f (expm1, -36.0, -0.9999999999999997680477169756430611687736L); + TEST_f_f (expm1, -37.0, -0.9999999999999999146695237425593420572195L); + TEST_f_f (expm1, -38.0, -0.9999999999999999686086720795197037129104L); + TEST_f_f (expm1, -44.0, -0.9999999999999999999221886775886620348429L); + TEST_f_f (expm1, -45.0, -0.9999999999999999999713748141945060635553L); + TEST_f_f (expm1, -46.0, -0.9999999999999999999894693826424461876212L); + TEST_f_f (expm1, -73.0, -0.9999999999999999999999999999999802074012L); + TEST_f_f (expm1, -74.0, -0.9999999999999999999999999999999927187098L); + TEST_f_f (expm1, -75.0, -0.9999999999999999999999999999999973213630L); + TEST_f_f (expm1, -78.0, -0.9999999999999999999999999999999998666385L); + TEST_f_f (expm1, -79.0, -0.9999999999999999999999999999999999509391L); + TEST_f_f (expm1, -80.0, -0.9999999999999999999999999999999999819515L); + TEST_f_f (expm1, -100.0, -1.0); + TEST_f_f (expm1, -1000.0, -1.0); + TEST_f_f (expm1, -10000.0, -1.0); + TEST_f_f (expm1, -100000.0, -1.0); + errno = 0; TEST_f_f (expm1, 100000.0, plus_infty, OVERFLOW_EXCEPTION); check_int ("errno for expm1(large) == ERANGE", errno, ERANGE, 0, 0, 0); TEST_f_f (expm1, max_value, plus_infty, OVERFLOW_EXCEPTION); - /* Bug 6778: spurious underflow exception. */ - TEST_f_f (expm1, -max_value, -1, UNDERFLOW_EXCEPTION_OK); + TEST_f_f (expm1, -max_value, -1); END (expm1); } |