Other Alias

INFINITY, NAN, HUGE_VAL, HUGE_VALF## 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 positive 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.

## COLOPHON

This page is part of release 4.06 of the Linux*man-pages*project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.