#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;
cc -std=c99
isinff(),
isinfl():
_BSD_SOURCE || _SVID_SOURCE
isnan():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE;
cc -std=c99
isnanf(),
isnanl():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600
The isnan() functions return a non-zero value if x is a NaN value, and 0 otherwise.
The isinf() functions return 1 if x is positive infinity, -1 if x is negative infinity, and 0 otherwise.