This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use...
[glibc.git] / math / w_exp2l.c
blob47aed3cb830f325e4241892285225465809b8267
1 /*
2 * wrapper exp2l(x)
3 */
5 #include <math.h>
6 #include <math_private.h>
8 long double
9 __exp2l (long double x)
11 long double z = __ieee754_exp2l (x);
12 if (__builtin_expect (!isfinite (z) || z == 0, 0)
13 && isfinite (x) && _LIB_VERSION != _IEEE_)
14 /* exp2 overflow: 244, exp2 underflow: 245 */
15 return __kernel_standard_l (x, x, 244 + !!signbit (x));
17 return z;
19 weak_alias (__exp2l, exp2l)