math: fix undefined shift in logf
[musl] / src / math / logf.c
index 7ee5d7f..e4c2237 100644 (file)
@@ -53,7 +53,7 @@ float logf(float x)
        tmp = ix - OFF;
        i = (tmp >> (23 - LOGF_TABLE_BITS)) % N;
        k = (int32_t)tmp >> 23; /* arithmetic shift */
-       iz = ix - (tmp & 0x1ff << 23);
+       iz = ix - (tmp & 0xff800000);
        invc = T[i].invc;
        logc = T[i].logc;
        z = (double_t)asfloat(iz);