The macro
INFINITY
expands to a float constant representing positive infinity.

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 plus 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.

This page is part of release 3.27 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/.