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 without 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
machine-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.