HUGE_VAL(3)

HUGE_VAL3

Floating-point constants

Part of INFINITY(3).

Usage

#define _ISOC99_SOURCE      /* See feature_test_macros(7) */
#include <math.h>

INFINITY

NAN

HUGE_VAL HUGE_VALF HUGE_VALL

Library

Math library (libm)

Overview

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.

Releases

12 releases since Debian 3.1 (Sarge); the text changed 11 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 7
  6. 8
  7. 9
  8. 10
  9. 11
  10. 12
  11. 13
  12. Arch

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.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.