FPCLASSIFY(3)

NAME
fpclassify, isfinite, isinf, isnan, isnormal - classify a floating-point number

LIBRARY
libm

SYNOPSIS
#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);

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

FP_INFINITE
    Indicates that x is an infinite number.

FP_NAN
    Indicates that x is not a number (NaN).

FP_NORMAL
    Indicates that x is a normalized number.

FP_SUBNORMAL
    Indicates that x is a denormalized number.

FP_ZERO
    Indicates that x is zero (0 or -0).

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

SEE ALSO
isgreater(3), math(3), signbit(3)

STANDARDS
The fpclassify(), isfinite(), isinf(), isnan(), and isnormal() macros conform to isoC-99.

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