fix definitions of FP_ILOGB constants
[musl] / include / math.h
index 8791bba..61738e6 100644 (file)
@@ -25,11 +25,11 @@ extern "C" {
 #define HUGE_VALL ((long double)INFINITY)
 
 #define MATH_ERRNO  1
-#define MATH_EXCEPT 2
+#define MATH_ERREXCEPT 2
 #define math_errhandling 2
 
-#define FP_ILOGBNAN (((unsigned)-1)>>1)
-#define FP_ILOGB0 (~FP_ILOGBNAN)
+#define FP_ILOGBNAN (-1-(int)(((unsigned)-1)>>1))
+#define FP_ILOGB0 FP_ILOGBNAN
 
 #define FP_NAN       0
 #define FP_INFINITE  1
@@ -77,8 +77,8 @@ int __signbitf(float);
 int __signbitl(long double);
 
 #define signbit(x) ( \
-       sizeof(x) == sizeof(float) ? !!(__FLOAT_BITS(x) & 0x80000000) : \
-       sizeof(x) == sizeof(double) ? !!(__DOUBLE_BITS(x) & (__uint64_t)1<<63) : \
+       sizeof(x) == sizeof(float) ? (int)(__FLOAT_BITS(x)>>31) : \
+       sizeof(x) == sizeof(double) ? (int)(__DOUBLE_BITS(x)>>63) : \
        __signbitl(x) )
 
 #define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y)))
@@ -387,6 +387,13 @@ float       y1f(float);
 long double y1l(long double);
 float       ynf(int, float);
 long double ynl(int, long double);
+
+double      exp10(double);
+float       exp10f(float);
+long double exp10l(long double);
+double      pow10(double);
+float       pow10f(float);
+long double pow10l(long double);
 #endif
 
 #ifdef __cplusplus