FP_NORMAL, FP_SUBNORMAL, FP_ZERO, FP_INFINITE, FP_NAN

From cppreference.com
< c | numeric | math
 
 
 
Common mathematical functions
Functions
Basic operations
remainder (C99)
remquo (C99)
fma (C99)
fmax (C99)
fmin (C99)
fdim (C99)
nan
nanf
nanl
(C99)
(C99)
(C99)
Exponential functions
exp
exp2 (C99)
expm1 (C99)
log
log10
log1p (C99)
log2 (C99)
Power functions
sqrt
cbrt (C99)
hypot (C99)
pow
Trigonometric and hyperbolic functions
sinh
cosh
tanh
asinh (C99)
acosh (C99)
atanh (C99)
Error and gamma functions
erf (C99)
erfc (C99)
lgamma (C99)
tgamma (C99)
Nearest integer floating point operations
ceil
floor
round
lround
llround
(C99)
(C99)
(C99)
trunc (C99)
nearbyint (C99)
rint
lrint
llrint
(C99)
(C99)
(C99)
Floating point manipulation functions
ldexp
scalbn
scalbln
(C99)
(C99)
ilogb (C99)
logb (C99)
Classification
fpclassify (C99)
isfinite (C99)
isinf (C99)
isnan (C99)
isnormal (C99)
signbit (C99)
Macro constants
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C99)
(C99)
(C99)
(C99)
(C99)
 
Defined in header <math.h>
#define FP_NORMAL    /*implementation defined*/
(since C99)
#define FP_SUBNORMAL /*implementation defined*/
(since C99)
#define FP_ZERO      /*implementation defined*/
(since C99)
#define FP_INFINITE  /*implementation defined*/
(since C99)
#define FP_NAN       /*implementation defined*/
(since C99)

The FP_NORMAL, FP_SUBNORMAL, FP_ZERO, FP_INFINITE, FP_NAN macros each represent a distinct category of floating-point numbers. They all expand to an integer constant expression.

Constant Explanation
FP_NORMAL indicates that the value is normal, i.e. not an infinity, subnormal, not-a-number or zero
FP_SUBNORMAL indicates that the value is subnormal
FP_ZERO indicates that the value is positive or negative zero
FP_INFINITE indicates that the value is not representable by the underlying type (positive or negative infinity)
FP_NAN indicates that the value is not-a-number (NaN)

[edit] See also

categorizes the given floating point value
(function)