about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--math/libm-test.inc4
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps3
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps5
4 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d3f89034c..59fc3c0d7b 100644
--- 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.
 
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 54d1aca7d5..3510b61303 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -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);
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 68e1fa9dd4..18097a51c6 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -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
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 1bd06d1909..eb67e91b97 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -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