INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL - floating-point constants
Contents
Description
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 longdouble,
respectively, that represent a large positive value, possibly positive infinity.
History
C99.
On a glibc system, the macro HUGE_VAL is always available. Availability of the NAN macro can be tested
using #ifdefNAN, 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.
Library
Math library (libm)
Name
INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL - floating-point constants
See Also
fpclassify(3), math_error(7) Linux man-pages 6.9.1 2024-05-02 INFINITY(3)
Standards
C11.
Synopsis
#define_ISOC99_SOURCE /* See feature_test_macros(7) */ #include<math.h>INFINITYNANHUGE_VALHUGE_VALFHUGE_VALL
