macro
<cfenv>
FE_OVERFLOW
Overflow range error exception
This macro expands to a value of type int
that identifies the floating-point exception raised on overflow range errors.
Overflow range errors occur when the result of an operation cannot be represented as a value of its return type because its magnitude is too large (with either positive or negative sign).
Operations that overflow while the default rounding mode is in effect, return a positive or a negative HUGE_VAL (or HUGE_VALF or HUGE_VALL).
FE_OVERFLOW is defined as a value that is an exact power of two, allowing several floating-point exceptions to be combined (using the bitwise OR operator: |
) into a single value:
macro value | description |
FE_DIVBYZERO | Pole error: division by zero, or some other asymptotically infinite result (from finite arguments). |
FE_INEXACT | Inexact: the result is not exact. |
FE_INVALID | Domain error: At least one of the arguments is a value for which the function is not defined. |
FE_OVERFLOW | Overflow range error: The result is too large in magnitude to be represented as a value of the return type. |
FE_UNDERFLOW | Underflow range error: The result is too small in magnitude to be represented as a value of the return type. |
FE_ALL_EXCEPT | All exceptions (selects all of the exceptions supported by the implementation). |
Certain library implementations may support additional floating-point exception values (with their corresponding macros also beginning with FE_
).
Libraries may define in
<fenv.h>
only the macro values above they support (the others may not be defined).
FE_OVERFLOW is always defined if
math_errhandling has
MATH_ERREXCEPT set.
At least all of the above macro values are defined in
<cfenv>
(even if not supported by the implementation).