Raises the specified floating-point exceptions.
int feraiseexcept( int excepts );
The floating-point exceptions to raise.
If all specified exceptions are raised successfully, returns 0.
The feraiseexcept function attempts to raise the floating-point exceptions specified by excepts. The feraiseexcept function supports these exception macros, defined in <fenv.h>:
|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_ALLEXCEPT||The bitwise OR of all supported floating-point exceptions.|
The excepts argument may be zero, one of the exception macro values, or the bitwise OR of two or more of the supported exception macros. If one of the specified exception macros is FE_OVERFLOW or FE_UNDERFLOW, the FE_INEXACT exception may be raised as a side-effect.
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.
Microsoft Specific: The exceptions specified in excepts are raised in the order FE_INVALID, FE_DIVBYZERO, FE_OVERFLOW, FE_UNDERFLOW, FE_INEXACT. However, FE_INEXACT can be raised when FE_OVERFLOW or FE_UNDERFLOW is raised, even if not specified in excepts. End Microsoft Specific
|Function||C header||C++ header|
For additional compatibility information, see Compatibility.