NAME
fpclassify, isfinite, isnormal, isnan - floating-point classification macros
SYNOPSIS
#include <math.h>
int fpclassify(x);
int isfinite(x);
int isnormal(x);
int isnan(x);
int isinf(x);
DESCRIPTION
Floating point numbers can have special values, such as
infinite or NaN. With the macro
fpclassify(x)
you can find out what type
x
is. The macro takes any floating-point expression as argument.
The result takes one of the following values:
- FP_NAN
-
x
is "Not a Number".
- FP_INFINITE
-
x
is either plus or minus infinity.
- FP_ZERO
-
x
is zero.
- FP_SUBNORMAL
-
x
is too small to be represented in normalized format.
- FP_NORMAL
-
if nothing of the above is correct that it must be a
normal floating-point number.
The other macros provide a short answer to some standard questions.
- isfinite(x)
-
(fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
- isnormal(x)
-
(fpclassify(x) == FP_NORMAL)
- isnan(x)
-
(fpclassify(x) == FP_NAN)
- isinf(x)
-
(fpclassify(x) == FP_INFINITE)
NOTE
CONFORMING TO
C99
SEE ALSO
isgreater(3),
isinf(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- NOTE
-
- CONFORMING TO
-
- SEE ALSO
-