NAN(3)

ИМЯ
nan, nanf, nanl - возвращает «Not a Number» (не является числом)

ОБЗОР
#include <math.h>

double nan(const char *tagp);
float nanf(const char *tagp);
long double nanl(const char *tagp);

Компонуется при указании параметра -lm.

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

nan(), nanf(), nanl():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

ОПИСАНИЕ
Данные функции возвращают представление (определённое в tagp) тихого NaN. Если реализация не поддерживает тихие (quiet) NaN, данные функции возвращают ноль.

Вызов nan("символьная последовательность") равнозначен следующему:
    strtod("NAN(символьная последовательность)", NULL);

Вызовы nanf() и nanl() эквивалентны аналогичным вызовам strtof(3) и strtold(3).

Использование аргумента tagp не регламентировано. В системах, совместимых с IEEE 754, существует несколько реализаций NaN, и tagp используется в одной из них. В других системах он может ничего не делать.

ВЕРСИИ
Эти функции впервые появились в glibc 2.1.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
nan(), nanf(), nanl() | Безвредность в нитях | MT-Safe locale

СООТВЕТСТВИЕ СТАНДАРТАМ
C99, POSIX.1-2001, POSIX.1-2008. См. также IEC 559 и приложение с рекомендуемыми функциями в IEEE 754/IEEE 854.

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