INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL - floating-point constants
Math library (libm
)
#define _ISOC99_SOURCE /* See feature_test_macros(7) */
#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 positive infinity.
C11.
C99.
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), math_error(7)