SYNOPSIS

DESCRIPTION

The macro
NAN
expands to a
float
constant representing a quiet NaN
(when supported).
A
quiet
NaN is a NaN ("not-a-number") that does not raise exceptions
when it is used in arithmetic.
The opposite is a
signaling
NaN.
See IEC 60559:1989.

The macros
HUGE_VAL,
HUGE_VALF,
HUGE_VALL
expand to constants of types
double,
float
and
long double,
respectively,
that represent a large positive value, possibly positive infinity.

CONFORMING TO

C99.

AVAILABILITY

On a glibc system, the macro
HUGE_VAL
is always available.
Availability of the
NAN
macro can be tested using
#ifdef NAN,
and similarly for
INFINITY,
HUGE_VALF,
HUGE_VALL.
They will be defined by
<math.h>
if
_ISOC99_SOURCE
or
_GNU_SOURCE
is defined, or
__STDC_VERSION__
is defined
and has a value not less than 199901L.

COLOPHON

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