lib/libc/gen/fpclassifyf.c
int
__fpclassifyf(float x)
{
	union ieee_single_u u;

	u.sngu_f = x;

	if (u.sngu_sng.sng_exp == 0) {
		if (u.sngu_sng.sng_frac == 0)
			return FP_ZERO;
		else
			return FP_SUBNORMAL;
	} else if (u.sngu_sng.sng_exp == SNG_EXP_INFNAN) {
		if (u.sngu_sng.sng_frac == 0)
			return FP_INFINITE;
		else
			return FP_NAN;
	}

	return FP_NORMAL;
}
/*
 * 7.12.3.1 fpclassify - classify real floating type
 *          IEEE 754 single-precision version
 */
7.12.3.1 fpclassify - classify real floating type
IEEE 754 single-precision version
7 . 12 . 3 . 1 fpclassify - classify real floating type IEEE 754 single - precision version
int
__fpclassifyf(float x)
{
	union ieee_single_u u;
	u.sngu_f = x;
	if (u.sngu_sng.sng_exp == 0) {
		if (u.sngu_sng.sng_frac == 0)
			return FP_ZERO;
		else
			return FP_SUBNORMAL;
	} else if (u.sngu_sng.sng_exp == SNG_EXP_INFNAN) {
		if (u.sngu_sng.sng_frac == 0)
			return FP_INFINITE;
		else
			return FP_NAN;
	}
	return FP_NORMAL;
}
int __fpclassifyf ( float x ) { union ieee_single_u u ; u . sngu_f = x ; if ( u . sngu_sng . sng_exp == 0 ) { if ( u . sngu_sng . sng_frac == 0 ) return FP_ZERO ; else return FP_SUBNORMAL ; } else if ( u . sngu_sng . sng_exp == SNG_EXP_INFNAN ) { if ( u . sngu_sng . sng_frac == 0 ) return FP_INFINITE ; else return FP_NAN ; } return FP_NORMAL ; }
7.12.3.1 fpclassify - classify real floating type
          IEEE 754 single-precision version
7 . 12 . 3 . 1 fpclassify - classify real floating type IEEE 754 single - precision version