feholdexcept - cppreference.com (original) (raw)

| | | | | ----------------------------------- | | ----------- | | int feholdexcept( fenv_t* envp ); | | (since C99) |

First, saves the current floating-point environment to the object pointed to by envp (similar to 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 feupdateenv or 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 feupdateenv after clearing the unwanted exceptions.

[edit] Parameters

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

[edit] Return value

​0​ on success, non-zero otherwise.

[edit] Example

Output:

current exceptions raised: FE_INVALID In x2(): x = inf current exceptions raised: FE_INEXACT FE_OVERFLOW x2(DBL_MAX) = inf current exceptions raised: FE_INVALID FE_OVERFLOW

[edit] References

[edit] See also