feupdateenv

Visual Studio 2015
 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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.

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.

Returns 0 if all actions completed successfully. Otherwise, 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 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.

FunctionC headerC++ header
feupdateenv<fenv.h><cfenv>

For additional compatibility information, see Compatibility.

fegetenv
feclearexcept
feholdexcept
fesetexceptflag

Show: