PATCH: [BZ #14803] Different ULPs depending on size of long int in GCC

Andreas Jaeger aj@suse.com
Wed Nov 28 20:46:00 GMT 2012


On 11/28/2012 06:38 PM, Joseph S. Myers wrote:
> 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,

Could you add comments about what the values are actually? Just say 
"pi/2" etc like in the changes file.

Fine with that change,
Andreas

>   	/* coefficient for R(x^2) */
>
>


-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list