aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2013-07-17 14:53:24 +0200
committerAndreas Schwab <schwab@suse.de>2013-08-13 09:45:02 +0200
commitca0a6bc4c5c53aa6c4a735c36336408a06b8cd89 (patch)
treefde38f49e9ff8e251fc3a4c9a8d5f194ba6decbf
parent6c1fd795711bb510cffaab5ad2ab2739bb8db210 (diff)
downloadglibc-ca0a6bc4c5c53aa6c4a735c36336408a06b8cd89.zip
glibc-ca0a6bc4c5c53aa6c4a735c36336408a06b8cd89.tar.gz
glibc-ca0a6bc4c5c53aa6c4a735c36336408a06b8cd89.tar.bz2
Fix cbrtl for ldbl-96
-rw-r--r--ChangeLog8
-rw-r--r--NEWS1
-rw-r--r--math/libm-test.inc5
-rw-r--r--sysdeps/ieee754/ldbl-96/s_cbrtl.c2
4 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 07617d1..bf48b5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-08-13 Andreas Schwab <schwab@suse.de>
+
+ [BZ #15749]
+ * sysdeps/ieee754/ldbl-96/s_cbrtl.c (__cbrtl): Use fabsl instead
+ of fabs.
+ * math/libm-test.inc (cbrt_test_data) [TEST_LDOUBLE &&
+ LDBL_MAX_EXP >= 16384]: Add tests for it.
+
2013-08-12 David S. Miller <davem@davemloft.net>
* version.h (RELEASE): Set to "development".
diff --git a/NEWS b/NEWS
index 3fd5027..b231e97 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ Version 2.19
* The following bugs are resolved with this release:
+ 15749
Version 2.18
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 2324d4f..851f1be 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -5845,6 +5845,11 @@ static const struct test_f_f_data cbrt_test_data[] =
TEST_f_f (cbrt, -27.0, -3.0),
TEST_f_f (cbrt, 0.9921875L, 0.997389022060725270579075195353955217L),
TEST_f_f (cbrt, 0.75L, 0.908560296416069829445605878163630251L),
+
+#if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384
+ TEST_f_f (cbrt, 0x1p16383L, 0x1p5461L),
+ TEST_f_f (cbrt, 0x1p-16383L, 0x1p-5461L),
+#endif
};
static void
diff --git a/sysdeps/ieee754/ldbl-96/s_cbrtl.c b/sysdeps/ieee754/ldbl-96/s_cbrtl.c
index b481c84..e6b2f25 100644
--- a/sysdeps/ieee754/ldbl-96/s_cbrtl.c
+++ b/sysdeps/ieee754/ldbl-96/s_cbrtl.c
@@ -45,7 +45,7 @@ __cbrtl (long double x)
int xe;
/* Reduce X. XM now is an range 1.0 to 0.5. */
- xm = __frexpl (fabs (x), &xe);
+ xm = __frexpl (fabsl (x), &xe);
/* If X is not finite or is null return it (with raising exceptions
if necessary.