On 03/22/15 14:51, Kevin Chan wrote:
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.
+/* FIXME: Doesnot work with +-NAN and -0. */ There's a typo in this comment. Also it works for NAN with sign bit set to 0.
+#define signbit(x) ((x) < 0 ? 1 : 0) This can be simplified to: #define signbit(x) ((x)<0)