fegetexceptflag
Stores the current state of the specified floating-point exception flags.
Syntax
int fegetexceptflag(
fexcept_t* pstatus,
int excepts
);
Parameters
pstatus
A pointer to a fexcept_t
object to contain the current values of the exception flags specified by excepts
.
excepts
The floating-point exception flags to store in pstatus
.
Return value
On success, returns 0. Otherwise, it returns a non-zero value.
Remarks
The fegetexceptflag
function stores the current state of the floating-point exception status flags specified by excepts
in the fexcept_t
object pointed to by pstatus
. pstatus
must point to a valid fexcept_t
object, or subsequent behavior is undefined. The fegetexceptflag
function supports these exception macros, defined in <fenv.h>:
Exception macro | Description |
---|---|
FE_DIVBYZERO |
A singularity or pole error occurred in an earlier floating-point operation; an infinity value was created. |
FE_INEXACT |
The function was forced to round the stored result of an earlier floating-point operation. |
FE_INVALID |
A domain error occurred in an earlier floating-point operation. |
FE_OVERFLOW |
A range error occurred; an earlier floating-point operation result was too large to be represented. |
FE_UNDERFLOW |
An earlier floating-point operation result was too small to be represented at full precision; a denormal value was created. |
FE_ALL_EXCEPT |
The bitwise OR of all supported floating-point exceptions. |
The excepts
argument may be zero, one of the supported floating-point exception macros, or the bitwise OR of two or more of the macros. The effect of any other argument value is undefined.
To use this function, you must turn off floating-point optimizations that could prevent access by using the #pragma fenv_access(on)
directive prior to the call. For more information, see fenv_access
.
Requirements
Function | C header | C++ header |
---|---|---|
fegetexceptflag |
<fenv.h> | <cfenv> |
For more compatibility information, see Compatibility.