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: powerpc libm ULPs updated


On Thu, 15 Mar 2012, Andreas Schwab wrote:

> +Test "hypot (0x1.234566p-126, 0x1.234566p-126) == 1.891441686191081936598531534017449451173e-38":
> +double: 1
> +float: 6

The float case shouldn't have that many ulps.  It looks like the PowerPC 
code has the same problem the generic code did, multiplying by 0x1p60 
which isn't big enough for nearly-subnormal values.

> +Test "hypot (0x3p125, 0x4p125) == 0x5p125":
> +float: 1

This should be exact.  It looks like the PowerPC code is using a value 
static const float twoM60 = 6.7762644e-21, which is 1ulp off 0x1p-67f (an 
*exact* 0x1p-67f would be OK).

> @@ -2205,7 +2247,7 @@ ldouble: 1
>  
>  Function: "hypot":
>  double: 1
> -float: 1
> +float: 6
>  idouble: 1
>  ifloat: 1
>  ildouble: 1

-- 
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]