Man Linux: Main Page and Category List

NAME

       nan, nanf, nanl - return ’Not a Number’

SYNOPSIS

       #include <math.h>

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

       Link with -lm.

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       nan(),  nanf(),  nanl():  _XOPEN_SOURCE >= 600  ||  _ISOC99_SOURCE;  or
       cc -std=c99

DESCRIPTION

       These functions return a representation (determined by tagp) of a quiet
       NaN.   If  the  implementation  does  not  support  quiet  NaNs,  these
       functions return zero.

       The call nan("char-sequence") is equivalent to:

           strtod("NAN(char-sequence)", NULL);

       Similarly, calls to nanf() and nanl() are equivalent to analogous calls
       to strtof(3) and strtold(3).

       The  argument  tagp  is  used  in  an  unspecified manner.  On IEEE 754
       systems, there are many representations of NaN, and tagp  selects  one.
       On other systems it may do nothing.

VERSIONS

       These functions first appeared in glibc in version 2.1.

CONFORMING TO

       C99,  POSIX.1-2001.  See also IEC 559 and the appendix with recommended
       functions in IEEE 754/IEEE 854.

SEE ALSO

       isnan(3), strtod(3), math_error(7)

COLOPHON

       This page is part of release 3.24 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.