nanl(3) возвращает «Not a Number» (не является числом)

Other Alias

nan, nanf

ОБЗОР

#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():

_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
или cc -std=c99

ОПИСАНИЕ

Данные функции возвращают представление (определённое в 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.