INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL — floating point constants
#define _ISOC99_SOURCE #include <math.h> INFINITY NAN HUGE_VAL HUGE_VALF HUGE_VALL
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.
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.
fpclassify(3), feature_test_macros(7)
|