### 4.2 Infinities and Not-a-number

Macro: GSL_POSINF

  This macro contains the IEEE representation of positive infinity, +\infty. It is computed from the expression `+1.0/0.0`.

Macro: GSL_NEGINF

  This macro contains the IEEE representation of negative infinity, -\infty. It is computed from the expression `-1.0/0.0`.

Macro: GSL_NAN

  This macro contains the IEEE representation of the Not-a-Number symbol, `NaN`. It is computed from the ratio `0.0/0.0`.

Function: int gsl_isnan (const double x)

  This function returns 1 if x is not-a-number.

Function: int gsl_isinf (const double x)

  This function returns +1 if x is positive infinity, -1 if x is negative infinity and 0 otherwise.6

Function: int gsl_finite (const double x)

  This function returns 1 if x is a real number, and 0 if it is infinite or not-a-number.

#### Footnotes

### (6)

Note that the C99 standard only requires the system `isinf` function to return a non-zero value, without the sign of the infinity. The implementation in some earlier versions of GSL used the system `isinf` function and may have this behavior on some platforms. Therefore, it is advisable to test the sign of x separately, if needed, rather than relying the sign of the return value from `gsl_isinf()`.