Fix ldbl-128ibm cos range reduction near pi/2 (bug 15359).
This commit is contained in:
parent
d0213cd0b6
commit
ed41ffefc3
|
@ -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.
|
||||
|
|
4
NEWS
4
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).
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue