about summary refs log tree commit diff
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.tar.gz
glibc-ca0a6bc4c5c53aa6c4a735c36336408a06b8cd89.tar.xz
glibc-ca0a6bc4c5c53aa6c4a735c36336408a06b8cd89.zip
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 07617d1897..bf48b5d5b0 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 3fd5027ca6..b231e9747f 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 2324d4fd52..851f1beafc 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 b481c84eb0..e6b2f2540e 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.