long double broken on i386?
sgk at troutmask.apl.washington.edu
Tue Oct 2 10:35:38 PDT 2007
On Tue, Oct 02, 2007 at 01:23:18PM -0400, David Schultz wrote:
> Although it would be nice to get all this stuff right the first
> time, very few people are going to care if our trig functions are
> accurate to within 1 ulp for huge inputs; many competing math
> libraries don't guarantee that anyway. A programmer who asks for
> sinl(1000000000*PI + 0.01) is going to be disappointed regardless,
> because you can't represent the input accurately using IEEE-754
> floating point. Most people just care about taking a program that
> uses sinl() and getting it to compile and run on FreeBSD, and most
> of those programs don't call sinl() with huge arguments.
> Anyway, my point is that if you have something that works
> reasonably well and doesn't have egregious errors, my suggestion
> is to just commit it and not kill yourself over whether the
> argument reduction is correct in the last ulp.
There are a few problems: 1) I don't have commit access. 2) I
need to do style(9) clean-up pass. 3) I've only tested these
on i386 and amd64, and I know these fail for sparc64. 4) Most
importantly, I don't know how the project wants to handle the
53 vs 64 bit default fpu setting on i386.
PS: There is also the minor possibility of giving bde either
a heartache or death via laughter when he finally sees what I
have done. :)
More information about the freebsd-standards