function
<cfenv>
fegetexceptflag
int fegetexceptflag (fexcept_t* flagp, int excepts);
Get floating-point exception flags
Attempts to store a representation of the floating-point exceptions specified by excepts into the fexcept_t object pointed by flagp.
Parameters
- flagp
- Pointer to a fexcept_t object where the representation is stored.
- excepts
- Bitmask value: A combination (with bitwise OR) of any number of floating-point exception values supported by the implementation:
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).
At least all of the above macro values are defined in
<cfenv>
(even if not supported by the implementation).
Return Value
Zero, if the representation was successfully stored.
A non-zero value otherwise.
Data races
Concurrently calling this function is safe, causing no data races.
Exceptions
No-throw guarantee: this function never throws exceptions.