/* | |
* wrapper log2(X) | |
*/ | |
#include <math.h> | |
#include "math_private.h" | |
double | |
__log2 (double x) /* wrapper log2 */ | |
{ | |
#ifdef _IEEE_LIBM | |
return __ieee754_log2 (x); | |
#else | |
double z; | |
z = __ieee754_log2 (x); | |
if (_LIB_VERSION == _IEEE_ || __isnan (x)) return z; | |
if (x <= 0.0) | |
{ | |
if (x == 0.0) | |
return __kernel_standard (x, x, 48); /* log2 (0) */ | |
else | |
return __kernel_standard (x, x, 49); /* log2 (x < 0) */ | |
} | |
else | |
return z; | |
#endif | |
} | |
weak_alias (__log2, log2) | |
#ifdef NO_LONG_DOUBLE | |
strong_alias (__log2, __log2l) | |
weak_alias (__log2, log2l) | |
#endif |