diff options
Diffstat (limited to 'math/w_log2l.c')
-rw-r--r-- | math/w_log2l.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/math/w_log2l.c b/math/w_log2l.c new file mode 100644 index 0000000..b1d8706 --- /dev/null +++ b/math/w_log2l.c @@ -0,0 +1,28 @@ +/* + * wrapper log2l(X) + */ + +#include <math.h> +#include "math_private.h" + +long double +__log2l (long double x) /* wrapper log2l */ +{ +#ifdef _IEEE_LIBM + return __ieee754_log2l (x); +#else + long double z; + z = __ieee754_log2l (x); + if (_LIB_VERSION == _IEEE_ || __isnanl (x)) return z; + if (x <= 0.0) + { + if (x == 0.0) + return __kernel_standard (x, x, 248); /* log2l (0) */ + else + return __kernel_standard (x, x, 249); /* log2l (x < 0) */ + } + else + return z; +#endif +} +weak_alias (__log2l, log2l) |