]> sourceware.org Git - glibc.git/commitdiff
Fix ldbl-128ibm cos range reduction near pi/2 (bug 15359).
authorJoseph Myers <joseph@codesourcery.com>
Thu, 9 May 2013 21:30:08 +0000 (21:30 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 9 May 2013 21:30:08 +0000 (21:30 +0000)
ChangeLog
NEWS
sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c

index 3ed5f445b2a5dd34fe72e9ea0378da7efc915e5b..619ce644f50920470a37e3db164a40316d4502d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2013-05-09  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #15359]
+       * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (c): Use 106 bits for
+       high part of pi/2.
+       (__ieee754_rem_pio2l): Update comments.
+
        [BZ #15429]
        * sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (c): Use 113 bits for
        high part of pi/2.
diff --git a/NEWS b/NEWS
index 70e7ecf669ffe70af11c01b0d1521f280d9f7ab9..74124949a8d1aec99f8abf483c7e0ded63a9f6b6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -15,8 +15,8 @@ Version 2.18
   14994, 14996, 15003, 15006, 15007, 15020, 15023, 15036, 15054, 15055,
   15062, 15078, 15084, 15085, 15086, 15160, 15214, 15221, 15232, 15234,
   15283, 15285, 15287, 15304, 15305, 15307, 15309, 15327, 15330, 15335,
-  15336, 15337, 15342, 15346, 15361, 15366, 15380, 15394, 15405, 15406,
-  15409, 15416, 15418, 15419, 15423, 15426, 15429.
+  15336, 15337, 15342, 15346, 15359, 15361, 15366, 15380, 15394, 15405,
+  15406, 15409, 15416, 15418, 15419, 15423, 15426, 15429.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).
index 692ae2493017370927d439e0340b6ba352829273..6a72d6a85348b1aaee8854d22cd4e29431a9afb5 100644 (file)
@@ -185,13 +185,13 @@ static const int32_t two_over_pi[] = {
 };
 
 static const long double c[] = {
-/* 93 bits of pi/2 */
+/* 106 bits of pi/2 */
 #define PI_2_1 c[0]
- 1.57079632679489661923132169155131424e+00L, /* 3fff921fb54442d18469898cc5100000 */
+ 0x1.921fb54442d18469898cc517018p+0L,
 
 /* pi/2 - PI_2_1 */
 #define PI_2_1t c[1]
- 8.84372056613570112025531863263659260e-29L, /* 3fa1c06e0e68948127044533e63a0106 */
+ 0x3.839a252049c1114cf98e804178p-108L,
 };
 
 int32_t __ieee754_rem_pio2l(long double x, long double *y)
@@ -216,7 +216,7 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y)
     {
       if (hx > 0)
        {
-         /* 113 + 93 bit PI is ok */
+         /* 106 + 106 bit PI is ok */
          z = x - PI_2_1;
          y[0] = z - PI_2_1t;
          y[1] = (z - y[0]) - PI_2_1t;
@@ -224,7 +224,7 @@ int32_t __ieee754_rem_pio2l(long double x, long double *y)
        }
       else
         {
-         /* 113 + 93 bit PI is ok */
+         /* 106 + 106 bit PI is ok */
          z = x + PI_2_1;
          y[0] = z + PI_2_1t;
          y[1] = (z - y[0]) + PI_2_1t;
This page took 0.11641 seconds and 5 git commands to generate.