This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Is sysdeps/ieee754/dbl-64/e_remainder.c broken?
> Date: Tue, 27 Nov 2001 13:23:46 -0800
> From: "H . J . Lu" <hjl@lucon.org>
> > Happily, I do. On powerpc, all the tests pass except for those
> > related to 'conj' in test-ifloat. I need to look at that, but it's
> > likely a compiler bug in the 2.95.2 compiler I'm using.
> >
>
> Please try this on your Linux/PPC with the current glibc. I believe
> sysdeps/ieee754/dbl-64/e_remainder.c is broken. But I don't know what
> is the best way to fix it
Yes, it seems like you have found a bug. I think I know what they did
wrong and can fix it. The problem is that, when calculating
remainder(x,y), the expression
z=u.x*r.x;
can overflow, where u.x==x and r.x==1.0/y. They tried to fix this
by avoiding such cases, but didn't quite manage it (by a factor of
about 2^900 :-).
> and verify the whole IBM math library is ok.
For that, I would recommend writing more test cases.
> I am considering to use the old IEEE math library for MIPS.
Wouldn't it be better to fix the new, better, library?
--
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>