C++ Math fpclassify
The function returns the value of type int that matches one of the macro constants, depending on the value of x.
| value | description |
|---|---|
| FP_INFINITE | Positive or negative infinity |
| FP_NAN | Not a Number |
| FP_ZERO | Value of zero. |
| FP_SUBNORMAL | Sub Normal value |
| FP_NORMAL | Normal value |
Syntax
Suppose a number is x. Syntax would be:
Example
int fpclassify(float x);
int fpclassify(double x);
int fpclassify(long double x);
int fpclassify(int x);
Parameter
x : The value which is to be matched with one of the macro constants.
Return value
It returns following integer values: FPINFINITE, FPNAN, FPZERO, FPSUBNORMAL ,FP_NORMAL.
Example
Let's see the simple example.
Example
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
double d=1.0/0.0;
switch(fpclassify(d))
{
case FP_INFINITE:
cout<<"1.0/0.0 is a infinite number ";
break;
case FP_NAN:
cout<<"1.0/0.0 is Not a Number";
break;
case FP_ZERO:
cout<<"1.0/0.0 is zero.";
break;
case FP_SUBNORMAL:
cout<<"1.0/0.0 is a subnormal value";
break;
case FP_NORMAL:
cout<<"1.0/0.0 is a normal value";
break;
default:
cout<<"wrong number";
}
return 0;
}
Output:
Output
1.0/0.0 is a infinite number
In this example, fpclassify function determines that x is a infinite number.