FreeBSD Manual Pages
NAN(3) FreeBSD Library Functions Manual NAN(3) NAME nan, nanf, nanl -- quiet NaNs LIBRARY Math Library (libm, -lm) SYNOPSIS #include <math.h> double nan(const char *s); float nanf(const char *s); long double nanl(const char *s); DESCRIPTION The NAN macro expands to a quiet NaN (Not A Number). Similarly, each of the nan(), nanf(), and nanl() functions generate a quiet NaN value with- out raising an invalid exception. The argument s should point to either an empty string or a hexadecimal representation of a non-negative integer (e.g., "0x1234".) In the latter case, the integer is encoded in some free bits in the representation of the NaN, which sometimes store ma- chine-specific information about why a particular NaN was generated. There are 22 such bits available for float variables, 51 bits for double variables, and at least 51 bits for a long double. If s is improperly formatted or represents an integer that is too large, then the particular encoding of the quiet NaN that is returned is indeterminate. COMPATIBILITY Calling these functions with a non-empty string isn't portable. Another operating system may translate the string into a different NaN encoding, and furthermore, the meaning of a given NaN encoding varies across ma- chine architectures. If you understood the innards of a particular plat- form well enough to know what string to use, then you would have no need for these functions anyway, so don't use them. Use the NAN macro in- stead. SEE ALSO fenv(3), ieee(3), isnan(3), math(3), strtod(3) STANDARDS The nan(), nanf(), and nanl() functions and the NAN macro conform to ISO/IEC 9899:1999 ("ISO C99"). FreeBSD 13.0 December 16, 2007 FreeBSD 13.0
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | COMPATIBILITY | SEE ALSO | STANDARDS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nan&sektion=3&manpath=FreeBSD+12.0-RELEASE>