Provided by:

manpages-dev_3.35-0.1ubuntu1_all **NAME**

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

**SYNOPSIS**

**#define** **_ISOC99_SOURCE** /* See feature_test_macros(7) */
**#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 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.

**SEE** **ALSO**

**fpclassify**(3), **math_error**(7)

**COLOPHON**

This page is part of release 3.35 of the Linux __man-pages__ project. A description of the
project, and information about reporting bugs, can be found at http://man7.org/linux/man-
pages/.
2007-07-26 INFINITY(3)