fix integer overflow in WIFSTOPPED macro
[musl] / src / math / log2l.c
index 76a7aac..722b451 100644 (file)
@@ -108,8 +108,7 @@ static const long double S[4] = {
 
 long double log2l(long double x)
 {
-       long double z;
-       long double y;
+       long double y, z;
        int e;
 
        if (isnan(x))
@@ -118,7 +117,7 @@ long double log2l(long double x)
                return x;
        if (x <= 0.0) {
                if (x == 0.0)
-                       return -1/(x+0); /* -inf with divbyzero */
+                       return -1/(x*x); /* -inf with divbyzero */
                return 0/0.0f; /* nan with invalid */
        }
 
@@ -174,4 +173,10 @@ done:
        z += e;
        return z;
 }
+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
+// TODO: broken implementation to make things compile
+long double log2l(long double x)
+{
+       return log2(x);
+}
 #endif