FP_NORMAL, FP_SUBNORMAL, FP_ZERO, FP_INFINITE, FP_NAN
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   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
|    (C99) 
 | 
   categorizes the given floating point value   (function)  | 
|   
C++ documentation for FP_categories
 
 | 
|