fpclassify
switch (fpclassify(d)) {
switch (fpclassify(e)) {
switch (fpclassify(*ld)) {
assert(fpclassify((float)0) == FP_ZERO);
assert(fpclassify((float)-0.0) == FP_ZERO);
assert(fpclassify((float)1) == FP_NORMAL);
assert(fpclassify((float)1000) == FP_NORMAL);
assert(fpclassify(0x1.2p-150f) == FP_SUBNORMAL);
assert(fpclassify(HUGE_VALF) == FP_INFINITE);
assert(fpclassify((float)HUGE_VAL) == FP_INFINITE);
assert(fpclassify((float)HUGE_VALL) == FP_INFINITE);
assert(fpclassify(NAN) == FP_NAN);
assert(fpclassify((double)0) == FP_ZERO);
assert(fpclassify((double)-0) == FP_ZERO);
assert(fpclassify((double)1) == FP_NORMAL);
assert(fpclassify((double)1000) == FP_NORMAL);
assert(fpclassify(0x1.2p-1075) == FP_SUBNORMAL);
assert(fpclassify(HUGE_VAL) == FP_INFINITE);
assert(fpclassify((double)HUGE_VALF) == FP_INFINITE);
assert(fpclassify((double)HUGE_VALL) == FP_INFINITE);
assert(fpclassify((double)NAN) == FP_NAN);
assert(fpclassify((long double)0) == FP_ZERO);
assert(fpclassify((long double)-0.0) == FP_ZERO);
assert(fpclassify((long double)1) == FP_NORMAL);
assert(fpclassify((long double)1000) == FP_NORMAL);
assert(fpclassify(0x1.2p-16383L) == FP_SUBNORMAL);
assert(fpclassify(HUGE_VALL) == FP_INFINITE);
assert(fpclassify((long double)HUGE_VALF) == FP_INFINITE);
assert(fpclassify((long double)HUGE_VAL) == FP_INFINITE);
assert(fpclassify((long double)NAN) == FP_NAN);