INFINITY(3) | Linux Programmer's Manual | INFINITY(3) |

# NAME

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

**#define _ISOC99_SOURCE**/* See feature_test_macros(7) */

**#include**

<math.h>

<math.h>

**INFINITY**

**NAN**

**HUGE_VAL**

**HUGE_VALF**

**HUGE_VALL**

# DESCRIPTION

The macro**INFINITY**expands to a

*float*constant representing positive infinity.

**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.

**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.53 of the Linux*man-pages*project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

2007-07-26 |