Hi Piotr,
Thank you very much for pointing out the problems.
And about
float CDECL MSVCRT__copysignf( float num, float sign )
{
- /* FIXME: Behaviour for Nan/Inf? */
- if (sign < 0.0)
return num < 0.0 ? num : -num;
- return num < 0.0 ? -num : num;
- /* FIXME: Behaviour for signbit(NAN) is different in Linux and
* Windows, where Windows gives a zero for -NAN
*/
- if (signbit(sign))
return signbit(num) ? num : -num;
- return signbit(num) ? -num : num;
It doesn't make sense to add this comment and remove it in next patch. I would also prefer if signbit fallback implementation is changed in this patch.
I removed the comments now because I thought this is already fixed... I've combined the changes and sent two patches.
Thanks again :)
Regards, Zheng