On Wed, 31 Oct 2012, Tobias Burnus wrote:

> Tobias Burnus wrote:
> > libquadmath's math functions are based on (but not identical to) GLIBC's
> > sysdeps/ieee754/ldbl-128 functions. In the attached patch, I have ported the
> > bug fixes from GLIBC over to libquadmath. Hopefully, the port is complete
> > and correct.
> 
> Slightly updated version, committed as Rev. 193037.

At a glance, I don't see any sign of

commit c0df8e693f34b535bd6ee1b691bc4ca6bc3b4579
Author: Joseph Myers <jos...@codesourcery.com>
Date:   Thu Mar 22 12:52:50 2012 +0000

    Fix low-part sign handling in sin/cos for ldbl-128 and ldbl-128ibm.

being included (although the effects of that change were only small 
reductions, on average, in ulps errors); I don't know if other relevant 
commits to the ldbl-128 code (since it was last merged from glibc) are 
missing.  (And unsurprisingly it doesn't have the fma change I committed 
today relating to spurious exceptions on after-rounding architectures - 
FWIW, all the architectures currently using libquadmath are 
after-rounding.)

There have been lots of improvements to the complex functions in glibc 
lately (those are generally in math/ not sysdeps/ieee754/), although 
libquadmath seems to be following glibc's versions of those less closely, 
and fixing those in glibc is still very much a work in progress (inverse 
trig and hyperbolic functions, and cpow, still need major work to be 
reasonably accurate for all inputs and avoid spurious exceptions / produce 
correct exceptions).

Separately, soft-fp in GCC could do with being updated from glibc - that 
might eliminate a few spurious underflow exceptions if you get those in 
your test results.  (Note that current soft-fp should, ideally, have 
FP_TRAPPING_EXCEPTIONS definitions added to sfp-machine.h files, where 
hardware exceptions are supported at all by those files.  The relevant 
architecture maintainers - aarch64, i386, ia64 - could reasonably be asked 
to add those.)

printf and strtod code in libquadmath looks like it could do with being 
updated from glibc as well - strtod in particular has had major changes in 
glibc since it was last updated.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to