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.
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, it 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 isn't FE_DFL_ENV or doesn't 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 more compatibility information, see Compatibility.