finite(3) isnanl

ОБЗОР

#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

ОПИСАНИЕ

Функции finite(), finitef() и finitel() возвращают ненулевое значение, если x не равно бесконечности или «не числу» (NaN), в противном случае 0.

Функции isnan(), isnanf() и isnanl() возвращают ненулевое значение, если x равно NaN, в противном случае 0.

Функции isinf(), isinff() и isinfl() возвращают 1, если x равно плюс бесконечности, -1, если x равно минус бесконечности, в остальных случаях 0.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
ИнтерфейсАтрибутЗначение
finite(), finitef(), finitel(),
isinf(), isinff(), isinfl(),
isnan(), isnanf(), isnanl()
безвредность в нитяхбезвредно (MT-Safe)

ЗАМЕЧАНИЯ

Заметим, что эти функции устарели. В C99 их заменили макросы isfinite(), isinf() и isnan() (для всех типов). Также заметим, что для isinf() C99 не гарантируется возвращаемого значения. Смотрите fpclassify(3).