msvcrt: Don't depend on the system's implementation of acos () & asin().

Michael Stefaniuc mstefani at redhat.com
Fri Aug 29 11:36:26 CDT 2008


Henri Verbeet wrote:
> 2008/8/29 Dan Kegel <dank at kegel.com>:
>> Henri wrote:
>>> glibc implements acos() as the FPU equivalent of atan2(sqrt(1 - x ^ 2), x).
>> I just looked, and there are several implementations of acos
>> in glibc, and they all seem to very carefully choose
>> how to do it based on how close x is to 1.
>>
> The specific implementation I was talking about is
> http://sources.redhat.com/git/?p=glibc.git;a=blob;f=sysdeps/i386/fpu/e_acos.S;hb=HEAD
> it's NetBSD derived, and it seems at least NetBSD and OpenBSD use the
> same or a similar implementation. I couldn't quickly find what FreeBSD
> uses, but I wouldn't be surprised if it uses something like that as
> well.
Wouldn't it make more sense to put the sane acos and asin
implementations in libs/port and use them only if the system provided
versions are broken? It should be possible to have configure check that.
That way we can use the probably optimized versions on the sane systems.

>>> This should be fixed on the glibc side as well
>> Indeed.  Have you filed a bug report against glibc yet?
>> I didn't see one at http://sourceware.org/bugzilla/
>> Please be sure to attach a simple C program that
>> reproduces the problem, or better yet, a patch
>> to add a test case to their test suite.
>>
> I tried to create an account on their  bugzilla yesterday, but for
> some reason I never got the confirmation mail. I'll probably try again
> in a few days. http://sources.redhat.com/bugzilla/show_bug.cgi?id=2540
> looks like a similar issue.
> 
> 

bye
	michael



More information about the wine-devel mailing list