This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]