NAME
fpclassify
,
isfinite
, isinf
,
isnan
, isnormal
,
signbit
, finite
,
finitef
, isinff
,
isnanf
—
classify a floating-point
number
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);
int
signbit
(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.
The
signbit
()
macro takes an argument of x and returns non-zero if
the value of its sign is negative, otherwise 0.
SEE ALSO
STANDARDS
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
().
HISTORY
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.