#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);
glibc 向けの機能検査マクロの要件 (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
isnan() 関数は、 x が NaN の場合 0 以外の値を返し、 それ以外の場合は 0 を返す。
isinf() 関数は、 x が正の無限大であれば 1 を返し、x が負の無限大で あれば -1 を返す。それ以外の場合は 0 を返す。