< cpp‎ | numeric‎ | fenv
Revision as of 15:41, 1 July 2013 by P12bot (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Defined in header <cfenv>
int feholdexcept( std::fenv_t* envp )
(since C++11)

First, saves the current floating-point environment to the object pointed to by envp (similar to std::fegetenv), then clears all floating-point status flags, and then installs the non-stop mode: future floating-point exceptions will not interrupt execution (will not trap), until the floating-point environment is restored by std::feupdateenv or std::fesetenv.

This function may be used in the beginning of a subroutine that must hide the floating-point exceptions it may raise from the caller. If only some exceptions must be suppressed, while others must be reported, the non-stop mode is usually ended with a call to std::feupdateenv after clearing the unwanted exceptions.

[edit] Parameters

envp - pointer to the object of type std::fenv_t where the floating-point environment will be stored

[edit] Return value

0 on success, non-zero otherwise.

[edit] See also

restores the floating-point environment and raises the previously raise exceptions
(function) [edit]
saves or restores the current floating point environment
(function) [edit]
default floating-point environment
(macro constant) [edit]