Defined in header <math.h> | ||
---|---|---|
#define HUGE_VALF /*implementation defined*/ | (since C99) | |
#define HUGE_VAL /*implementation defined*/ | ||
#define HUGE_VALL /*implementation defined*/ | (since C99) |
The HUGE_VALF
, HUGE_VAL
and HUGE_VALL
macros expand to positive floating point constant expressions which compare equal to the values returned by floating-point functions and operators in case of overflow (see math_errhandling).
Constant | Explanation |
---|---|
HUGE_VALF | Expands to positive float expression that indicates overflow |
HUGE_VAL | Expands to positive double expression that indicates overflow, not necessarily representable as a float |
HUGE_VALL | Expands to positive long double expression that indicates overflow, not necessarily representable as a float or double |
On implementations that support floating-point infinities, these macros always expand to the positive infinities of float
, double
, and long double
, respectively.
#include <math.h> #include <stdio.h> int main(void) { double result = 1.0/0.0; printf("1.0/0.0 = %f\n", result); if (result == HUGE_VAL) puts("1.0/0.0 == HUGE_VAL\n"); }
Possible output:
1.0/0.0 = inf 1.0/0.0 == HUGE_VAL
(C99) | evaluates to positive infinity or the value guaranteed to overflow a float (macro constant) |
C++ documentation for HUGE_VAL |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/math/HUGE_VAL