nextafter
double nextafter(double, double);
#define nextafter(x, y) __tg_simple2(x, y, nextafter)
PROTO_NORMAL(nextafter);
r = nextafter(r, -INFINITY);
r = nextafter(r, INFINITY);
return (nextafter(z, 0));
return (nextafter(z, -INFINITY));
return (nextafter(z, INFINITY));
r = nextafter(r, 0);
DEF_STD(nextafter);
LDBL_MAYBE_CLONE(nextafter);
MAKE_UNUSED_CLONE(nexttoward, nextafter);
MAKE_UNUSED_CLONE(nexttowardl, nextafter);
test##prec(copysign##prec(1.0, nextafter##prec(0.0, -0.0)), -1.0, 0); \
test##prec(copysign##prec(1.0, nextafter##prec(-0.0, 0.0)), 1.0, 0); \
stest(nextafter, 0x1p-1074, );
test(idd(nextafter(DBL_MAX, INFINITY)), INFINITY, ex_over);
test(idd(nextafter(INFINITY, 0.0)), DBL_MAX, 0);
test##prec(nextafter##prec((arg1), (arg2)), (ans), (ex)); \
assert(test(nextafter(0.0, 0.0), 0.0));
assert(test(nextafter(-0.0, 0.0), 0.0));
assert(test(nextafter(0.0, -0.0), -0.0));
assert(test(nextafter(-0.0, -0.0), -0.0));
assert(test(nextafter(NAN, 1.0), NAN));
assert(test(nextafter(1.0, NAN), NAN));
assert(test(nextafter(NAN, NAN), NAN));
assert(test(nextafter(0x1.fffffffffffffp+0, INFINITY), 0x1p1));
assert(test(nextafter(0x1p1, -INFINITY), 0x1.fffffffffffffp+0));