This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: k_sinl bug fix for ldbl-128 and ldbl-128ibm
On Thu, 15 Mar 2012, David Miller wrote:
> This gives new ULPs on sparc, this is test-ldouble.out:
Hopefully it also reduces some ULPs (which is less visible) so being on
average better (as was the case when making this fix for ldbl-96).
I had the idea last night that this issue only affected k_sinl, but on
looking at it again I think k_cosl is affected as well (and k_sincosl,
which I didn't pay much attention to because I'm keeping the existing
ldbl-96 s_sincosl for now which doesn't use k_sincosl). So I'll post
revised versions of both patches that fix those other functions as well.
> testing long double (without inline functions)
> Failure: Test: cos_upward (1) == 0.5403023058681397174009366074429766037323
(Actually, 1ulp failures for these directed rounding tests aren't very
meaningful anyway. The tests are written generically with a
40-decimal-place expected result - which the compiler will round to
nearest for the particular type being used, rather than using the rounding
mode of the particular test. So some 1ulp failures could just be that the
result happens to be correctly rounded for the selected rounding mode,
which is 1ulp away from the to-nearest result. Since the point of these
tests is to make sure that the results aren't wildly inaccurate in
directed rounding modes, not to test if they are last-bit-accurate, this
doesn't really matter.)
--
Joseph S. Myers
joseph@codesourcery.com