fpclassify
From cppreference.com
Defined in header
<math.h>
|
||
#define fpclassify(arg) /* implementation defined */
|
(since C99) | |
Categorizes floating point value arg
into the following categories: zero, subnormal, normal, infinite, NAN, or implementation-defined category. The macro returns an integral value.
Contents |
[edit] Parameters
arg | - | floating point value |
[edit] Return value
One of FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO or implementation-defined type, specifying the category of arg
.
[edit] Example
Run this code
#include <stdio.h> #include <math.h> #include <float.h> int main(void) { printf("FP_NAN = %d\n", FP_NAN); // 0 printf("FP_INFINITE = %d\n", FP_INFINITE); // 1 printf("FP_ZERO = %d\n", FP_ZERO); // 2 printf("FP_SUBNORMAL = %d\n", FP_SUBNORMAL); // 3 printf("FP_NORMAL = %d\n", FP_NORMAL); // 4 printf("\n"); printf("fpclassify(NAN) = %d\n", fpclassify(NAN)); // 0 printf("fpclassify(INFINITY) = %d\n", fpclassify(INFINITY)); // 1 printf("fpclassify(0.0) = %d\n", fpclassify(0.0)); // 2 printf("fpclassify(DBL_MIN/2.0) = %d\n", fpclassify(DBL_MIN/2.0)); // 3 printf("fpclassify(1.0) = %d\n", fpclassify(1.0)); // 4 return 0; }
Possible output:
FP_NAN = 0 FP_INFINITE = 1 FP_ZERO = 2 FP_SUBNORMAL = 3 FP_NORMAL = 4 fpclassify(NAN) = 0 fpclassify(INFINITY) = 1 fpclassify(0.0) = 2 fpclassify(DBL_MIN/2.0) = 3 fpclassify(1.0) = 4
[edit] See also
(C99)
|
checks if the given number has finite value (function) |
(C99)
|
checks if the given number is infinite (function) |
(C99)
|
checks if the given number is NaN (function) |
(C99)
|
checks if the given number is normal (function) |
C++ documentation for fpclassify
|