INFINITY(3) Руководство программиста Linux 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)

2017-09-15