fpclassify(3)

НАЗВАНИЕ
fpclassify, isfinite, isnormal, isnan - макросы классификации для чисел с плавающей точкой

СИНТАКСИС
#include <math.h>

int fpclassify(x);

int isfinite(x);

int isnormal(x);

int isnan(x);

int isinf(x);

ОПИСАНИЕ
Числа с плавающей точкой могут иметь много особых значений, например бесконечность, или NaN. С помощью макроса fpclassify(x) можной определить, к какому типу осносится x. Макрос воспринимает как аргумент любое выражение с плавающей точкой is. Результатом может быть одно из следующих значений:

FP_NAN
    x является NaN (не число, "Not a Number").

FP_INFINITE
    x является либо плюс либо минус бесконечностью.

FP_ZERO
    x равно нулю.

FP_SUBNORMAL
    x слишком мало и не может быть представлено в нормализованном формате.

FP_NORMAL
    если ничто из вышеперечисленного для выражения не подошло, то оно является обычным числом с плавающей точкой.

Другие макросы кратко отвечают на стандартные вопросы.

isfinite(x)
    (fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)

isnormal(x)
    (fpclassify(x) == FP_NORMAL)

isnan(x)
    (fpclassify(x) == FP_NAN)

isinf(x)
    (fpclassify(x) == FP_INFINITE)

ЗАМЕЧАНИЯ

СООТВЕТСТВИЕ СТАНДАРТАМ
C99

СМ. ТАКЖЕ
isgreater(3), isinf(3)