System Grab Bag

View all man pages from Linux (or from all projects)

Name

INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL - floating-point constants

Library

Math library ( libm )

Synopsis

"#define(7)_ISOC99_SOURCE" "      /* See feature_test_macros */" #include <math.h> 
INFINITY 
NAN 
HUGE_VAL 
HUGE_VALF 
HUGE_VALL 

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 "long double", respectively, that represent a large positive value, possibly positive infinity.

Standards

C11.

History

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.

See Also

  1. fpclassify(3),
  2. math_error(7)