This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: [BZ #14803] Different ULPs depending on size of long intin GCC


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]