PATCH: [BZ #14803] Different ULPs depending on size of long int in GCC
Joseph S. Myers
joseph@codesourcery.com
Wed Nov 28 17:38:00 GMT 2012
This discussion tailed off. I propose this specific patch that
converts all three constants to the hex float values I gave in
<http://sourceware.org/ml/libc-alpha/2012-11/msg00183.html>, computed
using MPFR with the program given there. Tested x86_64 and x86.
2012-11-28 Joseph Myers <joseph@codesourcery.com>
[BZ #14803]
* sysdeps/ieee754/ldbl-96/e_asinl.c (pio2_hi): Use hex float value
of pi/2 rounded to nearest to 64 bits.
(pio2_lo): Use hex float value of pi/2 - pio2_hi rounded to
nearest to 64 bits.
(pio4_hi): Use hex float value of pi/4 rounded to nearest to 64
bits.
diff --git a/sysdeps/ieee754/ldbl-96/e_asinl.c b/sysdeps/ieee754/ldbl-96/e_asinl.c
index c33701f..21be255 100644
--- a/sysdeps/ieee754/ldbl-96/e_asinl.c
+++ b/sysdeps/ieee754/ldbl-96/e_asinl.c
@@ -64,9 +64,9 @@
static const long double
one = 1.0L,
huge = 1.0e+4932L,
- pio2_hi = 1.5707963267948966192021943710788178805159986950457096099853515625L,
- pio2_lo = 2.9127320560933561582586004641843300502121E-20L,
- pio4_hi = 7.8539816339744830960109718553940894025800E-1L,
+ pio2_hi = 0x1.921fb54442d1846ap+0L,
+ pio2_lo = -0x7.6733ae8fe47c65d8p-68L,
+ pio4_hi = 0xc.90fdaa22168c235p-4L,
/* coefficient for R(x^2) */
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list