ldexp
return ldexp((double)significand, exponent);
double ldexp(double, int);
#define ldexp(x, y) __tg_simplev(x, ldexp, x, y)
DEF_STRONG(ldexp);
DEF_STRONG(ldexp);
DEF_STRONG(ldexp);
__strong_alias(ldexpl, ldexp);
PROTO_NORMAL(ldexp);
return ldexp((double) rseed[0], -48) +
ldexp((double) rseed[1], -32) +
ldexp((double) rseed[2], -16);
return ldexp((double) xseed[0], -48) +
ldexp((double) xseed[1], -32) +
ldexp((double) xseed[2], -16);
val = ldexp(mant, -24);
val = ldexp(mant + 1024, exp - 25);
g = ldexp(x, -m);
g = ldexp(g, -j);
zs = ldexp(zs, -spread);
p = ldexp(copysign(0x1p-1022, r), -spread);
return (ldexp(r, spread));
return ldexp(x, n);
assert(ldexp(1.0, -1022) > 0.0); /* IEEE 754 minimum normal positive */
assert(ldexp(1.0, -1023) > 0.0); /* subnormal positive */
assert(ldexp(1.0, -1024) > 0.0); /* subnormal positive */
assert(ldexp(1.0, -1074) > 0.0); /* minimum subnormal positive */
assert(ldexp(1.0, -1075) >= 0.0); /* zero */
assert(ldexp(ldexp(1.0, -1022), -53) >= 0.0); /* zero */
assert(ldexp(1.0, 1023) > 0.0); /* normal positive */
f = ldexp(1.0, 1024); /* infinite positive */
f = ldexp(ldexp(1.0, 1023), 1); /* infinite positive */
assert(ldexp(-1.0, -1022) < 0.0); /* IEEE 754 maximum normal negative */
assert(ldexp(-1.0, -1023) < 0.0); /* subnormal negative */
assert(ldexp(-1.0, -1024) < 0.0); /* subnormal negative */
assert(ldexp(-1.0, -1074) < 0.0); /* maximum subnormal negative */
assert(ldexp(-1.0, -1075) <= 0.0); /* zero */
assert(ldexp(ldexp(-1.0, -1022), -53) <= 0.0); /* zero */
assert(ldexp(-1.0, 1023) < 0.0); /* normal negative */
f = ldexp(-1.0, 1024); /* infinite negative */
f = ldexp(ldexp(-1.0, 1023), 1); /* infinite negative */
f = ldexp(NAN, 0);
f = ldexp(-NAN, 0);
double ldexp (double, int);
ATF_CHECK_EQ(exp2(i), ldexp(1.0, i));
test2(atan2, 0.0, ldexp(z, e), 0.0, 0);
test2(atan2, -0.0, ldexp(z, e), -0.0, 0);
test2(atan2, 0.0, ldexp(-z, e), (double)pi, FE_INEXACT);
test2(atan2, -0.0, ldexp(-z, e), (double)-pi, FE_INEXACT);
test2(atan2, ldexp(z, e), 0.0, (double)pi / 2, FE_INEXACT);
test2(atan2, ldexp(z, e), -0.0, (double)pi / 2, FE_INEXACT);
test2(atan2, ldexp(-z, e), 0.0, (double)-pi / 2, FE_INEXACT);
test2(atan2, ldexp(-z, e), -0.0, (double)-pi / 2, FE_INEXACT);
test2(atan2, ldexp(z, e), INFINITY, 0.0, 0);
test2(atan2, ldexp(-z,e), INFINITY, -0.0, 0);
test2(atan2, ldexp(z, e), -INFINITY, (double)pi, FE_INEXACT);
test2(atan2, ldexp(-z,e), -INFINITY, (double)-pi, FE_INEXACT);
test2(atan2, INFINITY, ldexp(z,e), (double)pi/2, FE_INEXACT);
test2(atan2, INFINITY, ldexp(-z,e), (double)pi/2, FE_INEXACT);
test2(atan2, -INFINITY, ldexp(z,e), (double)-pi/2,FE_INEXACT);
test2(atan2, -INFINITY, ldexp(-z,e),(double)-pi/2,FE_INEXACT);
(tol) * ldexp(1.0, 1 - DBL_MANT_DIG), (excepts)); \
(tol) * ldexp(1.0, 1 - DBL_MANT_DIG), (excepts)); \
ATF_CHECK_EQ(i, log2(ldexp(1.0, i)));