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.
2017-09-15 |