FINITE(3) Linux Programmer's Manual FINITE(3)

# NAME¶

finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl - BSD floating-point classification functions

# SYNOPSIS¶

```#include <math.h>

int finite(double x);

int finitef(float x);

int finitel(long double x);

int isinf(double x);

int isinff(float x);

int isinfl(long double x);

int isnan(double x);

int isnanf(float x);

int isnanl(long double x);
```

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
finite(), finitef(), finitel():
_BSD_SOURCE || _SVID_SOURCE
isinf():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE;

or cc -std=c99

isinff(), isinfl():
_BSD_SOURCE || _SVID_SOURCE
isnan():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE;

or cc -std=c99
isnanf(), isnanl():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600

# DESCRIPTION¶

The finite(), finitef(), and finitel() functions return a nonzero value if x is neither infinite nor a "not-a-number" (NaN) value, and 0 otherwise.
The isnan(), isnanf(), and isnanl() functions return a nonzero value if x is a NaN value, and 0 otherwise.
The isinf(), isinff(), and isinfl() functions return 1 if x is positive infinity, -1 if x is negative infinity, and 0 otherwise.