Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at feupdateenv.
Saves the currently raised floating-point exceptions, restores the specified floating-point environment state, and then raises the saved floating-point exceptions.
Syntax
int feupdateenv(
const fenv_t* penv
);
Parameters
penv
Pointer to a fenv_t
object that contains a floating-point environment as set by a call to fegetenv or feholdexcept. You can also specify the default startup floating-point environment by using the FE_DFL_ENV macro.
Return Value
Returns 0 if all actions completed successfully. Otherwise, returns a nonzero value.
Remarks
The feupdateenv
function performs multiple actions. First, it stores the current raised floating-point exception status flags in automatic storage. Then, it sets the current floating-point environment from the value stored in the fenv_t
object pointed to by penv
. If penv
is not FE_DFL_ENV or does not point to a valid fenv_t
object, subsequent behavior is undefined. Finally, feupdateenv
raises the locally stored floating-point exceptions.
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 |
---|---|---|
feupdateenv |
<fenv.h> | <cfenv> |
For additional compatibility information, see Compatibility.