cuserid: support invocation with a null pointer argument
[musl] / src / math / __signbitl.c
index 81adb6c..63b3dc5 100644 (file)
@@ -1,11 +1,14 @@
 #include "libm.h"
 
-// FIXME: should be a macro
 #if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
 int __signbitl(long double x)
 {
        union ldshape u = {x};
-
-       return u.bits.sign;
+       return u.i.se >> 15;
+}
+#elif LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+int __signbitl(long double x)
+{
+       return __signbit(x);
 }
 #endif