std::fegetenv, std::fesetenv

From cppreference.com
< cpp‎ | numeric‎ | fenv
Defined in header <cfenv>
int fegetenv( std::fenv_t* envp )
(1) (since C++11)
int fesetenv( const std::fenv_t* envp );
(2) (since C++11)

Manages the status of the floating-point environment.

1) Attempts to store the status of the floating-point environment in the object pointed to by envp.
2) Attempts to establish the floating-point environment from the object pointed to by envp. The value of that object must be previously obtained by a call to std::feholdexcept or std::fegetenv or be a floating-point macro constant. If any of the floating-point status flags are set in envp, they become set in the environment (and are then testable with std::fetestexcept), but the corresponding floating-point exceptions are not raised (execution continues uninterrupted)

Parameters

envp - pointer to the object of type std::fenv_t which holds the status of the floating-point environment

Return value

0 on success, non-zero otherwise.

See also

saves the environment, clears all status flags and ignores all future errors
(function)
restores the floating-point environment and raises the previously raise exceptions
(function)
default floating-point environment
(macro constant)