FPCLASSIFY(3) Library Functions Manual FPCLASSIFY(3)

fpclassify, isfinite, isinf, isnan, isnormalclassify a floating-point number

Math Library (libm, -lm)

#include <math.h>

int
fpclassify(real-floating x);

int
isfinite(real-floating x);

int
isinf(real-floating x);

int
isnan(real-floating x);

int
isnormal(real-floating x);

The () macro takes an argument of x and returns one of the following manifest constants.

Indicates that x is an infinite number.
Indicates that x is not a number (NaN).
Indicates that x is a normalized number.
Indicates that x is a denormalized number.
Indicates that x is zero (0 or -0).

The () macro returns a non-zero value if and only if its argument has a finite (zero, subnormal, or normal) value. The (), (), and () macros return non-zero if and only if x is an infinity, NaN, or a non-zero normalized number, respectively.

isgreater(3), math(3), signbit(3)

The fpclassify(), isfinite(), isinf(), isnan(), and isnormal() macros conform to ISO/IEC 9899:1999 (“ISO C99”).

3BSD introduced isinf() and isnan() functions, which accepted double arguments; these have been superseded by the macros described above.

December 11, 2006 macOS 15.2