c/numeric/math/fpclassify

Categorizes floating point value into the following categories: zero, subnormal, normal, infinite, NAN, or implementation-defined category. The macro returns an integral value.

flt_eval_method is ignored: even if the argument is evaluated with more range and precision than its type, it is first converted to its semantic type, and the classification is based on that: a normal long double value might become subnormal when converted to double and zero when converted to float.

Return value
One of fp_infinite, fp_nan, fp_normal, fp_subnormal, fp_zero or implementation-defined type, specifying the category of.