#include <iostream>
#include <cmath>
using namespace std;
const char *run_fpclassify(double n)
{
switch (fpclassify(n))
{
case FP_INFINITE: return "Infinite";
case FP_NAN: return "NaN";
case FP_ZERO: return "zero";
case FP_NORMAL: return "normal";
case FP_SUBNORMAL: return "subnormal";
default: return "unknown";
}
}
int main()
{
cout << "fpclassify(0.0 / 1.0) = " << run_fpclassify(0.0 / 1.0) << endl;
cout << "fpclassify(1.0 / 1.0) = " << run_fpclassify(1.0 / 1.0) << endl;
cout << "fpclassify(1.0) = " << run_fpclassify(1.0) << endl;
cout << "fpclassify(-0.0) = " << run_fpclassify(-0.0) << endl;
return 0;
}
/*
run:
fpclassify(0.0 / 1.0) = zero
fpclassify(1.0 / 1.0) = normal
fpclassify(1.0) = normal
fpclassify(-0.0) = zero
*/