aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-02-29 20:49:20 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-02-29 20:49:20 +0000
commit0fcad3e243575f5b316a1b630fcd9ed2396fd0c8 (patch)
tree76c997b4463cab8e5cf3eba38ea18e036ebe4219
parent5b8a4d4a09379dad120e2209730a628ad038e1bf (diff)
downloadglibc-0fcad3e243575f5b316a1b630fcd9ed2396fd0c8.tar
glibc-0fcad3e243575f5b316a1b630fcd9ed2396fd0c8.tar.gz
glibc-0fcad3e243575f5b316a1b630fcd9ed2396fd0c8.tar.bz2
glibc-0fcad3e243575f5b316a1b630fcd9ed2396fd0c8.zip
Add test for bug 5794 (incorrect expm1 overflow).
-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