std::fegetenv, std::fesetenv
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   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) | 
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)
[edit] Parameters
| envp | - | pointer to the object of type std::fenv_t which holds the status of the floating-point environment | 
[edit] Return value
0 on success, non-zero otherwise.
[edit] See also
|    (C++11) 
 | 
   saves the environment, clears all status flags and ignores all future errors  (function)  | 
|    (C++11) 
 | 
   restores the floating-point environment and raises the previously raise exceptions  (function)  | 
|    (C++11) 
 | 
   default floating-point environment  (macro constant)  |