isnan, isnanf, isinf, isinff, finite, finitef—test for exceptional numbers #include <ieeefp.h>
int isnan(double arg);
int isinf(double arg);
int finite(double arg);
int isnanf(float arg);
int isinff(float arg);
int finitef(float arg);
Description
These functions provide information on the floating-point
argument supplied.
There are five major number formats:
zerosubnormalnormalinfinityNANisnan returns 1 if the argument is a nan. isinf
returns 1 if the argument is infinity. finite returns 1 if the
argument is zero, subnormal or normal.
The isnanf, isinff and finitef functions perform the same
operations as their isnan, isinf and finite
counterparts, but on single-precision floating-point numbers.
It should be noted that the C99 standard dictates that isnan
and isinf are macros that operate on multiple types of
floating-point. The SUSv2 standard declares isnan as
a function taking double. Newlib has decided to declare
them both as macros in math.h and as functions in ieeefp.h.