INFINITY(3)

ИМЯ
INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL - константы величин с плавающей запятой

ОБЗОР
#define _ISOC99_SOURCE      /* Смотрите feature_test_macros(7) */
#include <math.h>

INFINITY

NAN

HUGE_VAL
HUGE_VALF
HUGE_VALL

ОПИСАНИЕ
Макрос INFINITY расширяет до константы float, представляющую положительную бесконечность. Макрос NAN расширяет до константы float, представляющую ненарушающее (quiet) NaN (если поддерживается). Ненарушающее NaN — это NaN («не число»), которое не вызывает исключений при использовании в арифметических действиях. Обратное — сигнализирующее (signaling) NaN. Смотрите IEC 60559:1989. Макросы HUGE_VAL, HUGE_VALF, HUGE_VALL расширяют до констант с типами double, float и long double, соответственно, которые представляют большое положительное число, возможно положительную бесконечность.

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

ДОСТУПНОСТЬ
В системах с glibc макрос HUGE_VAL доступен всегда. Доступность макроса NAN можно проверить с помощью #ifdef NAN; это же относится и к INFINITY, HUGE_VALF, HUGE_VALL. Они будут определены в <math.h>, если определён _ISOC99_SOURCE, _GNU_SOURCE или __STDC_VERSION__ и это значение не меньше чем 199901L.

СМОТРИТЕ ТАКЖЕ
fpclassify(3), math_error(7)