| FPCLASSIFY(3) | Library Functions Manual | FPCLASSIFY(3) |
fpclassify,
isfinite, isinf,
isnan, isnormal,
signbit, finite,
finitef, isinff,
isnanf — classify 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);
int
signbit(real-floating
x);
The
fpclassify()
macro takes an argument of x and returns one of the
following manifest constants:
FP_INFINITEFP_NANFP_NORMALFP_SUBNORMALFP_ZEROThe
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.
The
signbit()
macro takes an argument of x and returns non-zero if
the value of its sign is negative, otherwise 0.
The fpclassify(),
isfinite(), isinf(),
isnan(), isnormal(), and
signbit() macros conform to ISO/IEC
9899:1999 (“ISO C99”).
The symbols isinff(), and
isnanf() are provided as compatibility aliases to
isinf(), and isnan(),
respectively, and their uses are deprecated. Similarly,
finite() and finitef() are
deprecated versions of isfinite().
The fpclassify(),
isfinite(), isinf(),
isnan(), isnormal(), and
signbit() macros were added in
OpenBSD 4.4. 3BSD introduced
isinf() and isnan()
functions, which accepted double arguments; these have
been superseded by the macros described above.
| June 7, 2025 | Debian |