`isnan`

,`isnanf`

,`isinf`

,`isinff`

,`finite`

,`finitef`

---test for exceptional numbers#include <ieeefp.h> int isnan(doublearg); int isinf(doublearg); int finite(doublearg); int isnanf(floatarg); int isinff(floatarg); int finitef(floatarg);

**Description**

These functions provide information on the floating point
argument supplied.

There are five major number formats -

`zero`

- a number which contains all zero bits.
`subnormal`

- Is used to represent number with a zero exponent, but a non zero fraction.
`normal`

- A number with an exponent, and a fraction
`infinity`

- A number with an all 1's exponent and a zero fraction.
`NAN`

- A number with an all 1's exponent and a non zero fraction.

`isnan`

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`

perform the same
operations as their `isnan`

, `isinf`

and `finite`

counterparts, but on single precision floating point numbers.

Go to the first, previous, next, last section, table of contents.