This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Update sparc ULPs.
From: "Joseph S. Myers" <joseph@codesourcery.com>
Date: Fri, 16 Nov 2012 17:40:10 +0000
> On Fri, 16 Nov 2012, David Miller wrote:
>
>> Failure: pow (min_subnorm_value, min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (min_subnorm_value, -min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (max_value, min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (max_value, -min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (0.99, min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (0.99, -min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (1.01, min_subnorm_value) == 1.0: Exception "Underflow" set
>> Failure: pow (1.01, -min_subnorm_value) == 1.0: Exception "Underflow" set
>
> Those indicate that ldbl-128 needs a fix for bug 14811 (probably similar
> to those for other versions, i.e. saturating small exponents to +/-
> 0x1p-128, but each version of pow is substantially different from the
> others).
Yes, and in fact this is a reocurring problem.
Back when Sun's math library was imported, it seems we only got the
float and double variants. And the long double code has been cobbled
together by various volunteers and contributors over time.
The result of this is, as you say, wildly different implementations
between float/double and long-double.
And as such when people fix things on the float/double side they are
reluctant to try to take on the long double variant as well.
Anyways, I'll see if I can make some headway with these other issues.
Thanks!