/* | |
* wrapper exp2l(x) | |
*/ | |
#include <float.h> | |
#include <math.h> | |
#include "math_private.h" | |
static const long double o_threshold = (long double) LDBL_MAX_EXP; | |
static const long double u_threshold | |
= (long double) (LDBL_MIN_EXP - LDBL_MANT_DIG - 1); | |
long double | |
__exp2l (long double x) /* wrapper exp2l */ | |
{ | |
#ifdef _IEEE_LIBM | |
return __ieee754_exp2l (x); | |
#else | |
long double z; | |
z = __ieee754_exp2l (x); | |
if (_LIB_VERSION != _IEEE_ && __finitel (x)) | |
{ | |
if (x > o_threshold) | |
return __kernel_standard (x, x, 244); /* exp2l overflow */ | |
else if (x <= u_threshold) | |
return __kernel_standard (x, x, 245); /* exp2l underflow */ | |
} | |
return z; | |
#endif | |
} | |
weak_alias (__exp2l, exp2l) |