description | title | ms.date | api_name | api_location | api_type | f1_keywords | helpviewer_keywords | ms.assetid | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: feupdateenv |
feupdateenv |
04/05/2018 |
|
|
|
|
|
3d170042-dfd5-4e4f-a55f-038cf2296cc9 |
Saves the currently raised floating-point exceptions, restores the specified floating-point environment state, and then raises the saved floating-point exceptions.
int feupdateenv(
const fenv_t* penv
);
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.
Returns 0 if all actions completed successfully. Otherwise, it returns a nonzero value.
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
.
Function | C header | C++ header |
---|---|---|
feupdateenv |
<fenv.h> | <cfenv> |
For more compatibility information, see Compatibility.