Standard library header <cfenv>

From cppreference.com

This header was originally in the C standard library as <fenv.h>.

This header is part of the floating-point environment library.


Contents

[edit] Types

fenv_t The type representing the entire floating-point environment
fexcept_t The type representing all floating-point status flags collectively

[edit] Functions

clears the specified floating-point status flags
(function)
(C++11)
determines which of the specified floating-point status flags are set
(function)
raises the specified floating-point exceptions
(function)
copies the state of the specified floating-point status flags from or to the floating-point environment
(function)
(C++11)
(C++11)
gets or sets rounding direction
(function)
saves or restores the current floating point environment
(function)
(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)

[edit] Macros

floating-point exceptions
(macro constant)
floating-point rounding direction
(macro constant)
(C++11)
default floating-point environment
(macro constant)

[edit] Synopsis

namespace std {
    // types
    typedef /*object type*/ fenv_t;
    typedef /*integer type*/ fexcept_t;
 
    // functions
    int feclearexcept(int except);
    int fegetexceptflag(fexcept_t *pflag, int except);
    int feraiseexcept(int except);
    int fesetexceptflag(const fexcept_t *pflag, int except);
    int fetestexcept(int except);
    int fegetround(void);
    int fesetround(int mode);
    int fegetenv(fenv_t *penv);
    int feholdexcept(fenv_t *penv);
    int fesetenv(const fenv_t *penv);
    int feupdateenv(const fenv_t *penv);
}