This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [ballen@uwm.edu] libc/2269: triginometric argument reductionerror in libm
- To: Geoff Keating <geoffk at redhat dot com>
- Subject: Re: [ballen@uwm.edu] libc/2269: triginometric argument reductionerror in libm
- From: Bruce Allen <ballen at gravity dot phys dot uwm dot edu>
- Date: Sun, 20 May 2001 18:54:27 -0500 (CDT)
- cc: ballen at gravity dot phys dot uwm dot edu, aj at suse dot de, libc-alpha at sources dot redhat dot com, ballen at uwm dot edu, moshier at mediaone dot net
> What actually happens is that if you try to use the fsin instruction
> on operands where |x| > 2^63, it does nothing and sets an error flag.
> The problem is that the glibc x86 libm doesn't recover accurately in
> this case (it should reduce the argument and use fsin again).
Since there is clearly already argument reduction code in the library, and
since it is derived from the same Sun Microsystems code that gives
agreement with BC and with the Compaq Extended Math Library when running
on AXP machines, isn't it simply a question of modifying the code for
sin() (and code for cos(), sincos(), tan(), etc to do the argument
reduction properly first, simply by calling the existing argument
reduction routines?
Bruce