1 /*
2  * wrapper exp2l(x)
3  */
4 
5 #include <math.h>
6 #include <math_private.h>
7 #include <math-svid-compat.h>
8 #include <libm-alias-ldouble.h>
9 
10 #if LIBM_SVID_COMPAT
11 long double
__exp2l(long double x)12 __exp2l (long double x)
13 {
14   long double z = __ieee754_exp2l (x);
15   if (__builtin_expect (!isfinite (z) || z == 0, 0)
16       && isfinite (x) && _LIB_VERSION != _IEEE_)
17     /* exp2 overflow: 244, exp2 underflow: 245 */
18     return __kernel_standard_l (x, x, 244 + !!signbit (x));
19 
20   return z;
21 }
22 libm_alias_ldouble (__exp2, exp2)
23 #endif
24