Add test for bug 5794 (incorrect expm1 overflow).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 29 Feb 2012 20:49:20 +0000 (20:49 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 29 Feb 2012 20:49:20 +0000 (20:49 +0000)
ChangeLog
math/libm-test.inc
sysdeps/i386/fpu/libm-test-ulps
sysdeps/x86_64/fpu/libm-test-ulps

index 3d3f890..59fc3c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2012-02-29  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #5794]
+       * math/libm-test.inc (expm1_test): Add test for bug 5794.
+       * sysdeps/i386/fpu/libm-test-ulps: Update.
+       * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
        * sysdeps/i386/fpu/libm-test-ulps: Reduce some expected errors.
        * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
 
index 54d1aca..3510b61 100644 (file)
@@ -2602,6 +2602,10 @@ expm1_test (void)
   TEST_f_f (expm1, 1, M_El - 1.0);
   TEST_f_f (expm1, 0.75L, 1.11700001661267466854536981983709561L);
 
+#if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384
+  TEST_f_f (expm1, 11356.25L, 9.05128237311923300051376115753226014206e+4931L);
+#endif
+
   errno = 0;
   TEST_f_f (expm1, 100000.0, plus_infty);
   check_int ("errno for expm1(large) == ERANGE", errno, ERANGE, 0, 0, 0);
index 68e1fa9..18097a5 100644 (file)
@@ -452,6 +452,8 @@ ldouble: 8
 # expm1
 Test "expm1 (1) == M_El - 1.0":
 ildouble: 1
+Test "expm1 (11356.25) == 9.05128237311923300051376115753226014206e+4931":
+ldouble: 1
 
 # gamma
 Test "gamma (-0.5) == log(2*sqrt(pi))":
@@ -1173,6 +1175,7 @@ ldouble: 8
 
 Function: "expm1":
 ildouble: 1
+ldouble: 1
 
 Function: "gamma":
 double: 1
index 1bd06d1..eb67e91 100644 (file)
@@ -511,6 +511,9 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
+Test "expm1 (11356.25) == 9.05128237311923300051376115753226014206e+4931":
+ildouble: 1
+ldouble: 1
 
 # gamma
 Test "gamma (-0.5) == log(2*sqrt(pi))":
@@ -1265,6 +1268,8 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 Function: "gamma":
 ildouble: 1