fenv(3) Library Functions Manual fenv(3) feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, fetestexcept, fegetenv, fegetround, feholdexcept, fesetround, fesetenv, feupdateenv, feenableexcept, fedisableexcept, fegetexcept - (libm -lm) #include int feclearexcept(int excepts); int fegetexceptflag(fexcept_t *flagp, int excepts); int feraiseexcept(int excepts); int fesetexceptflag(const fexcept_t *flagp, int excepts); int fetestexcept(int excepts); int fegetround(void); int fesetround(int rounding_mode); int fegetenv(fenv_t *envp); int feholdexcept(fenv_t *envp); int fesetenv(const fenv_t *envp); int feupdateenv(const fenv_t *envp); C99 ( ). . () () . ( ). . . 0/0 - sqrt(-1). : ( /) ( ). FE_DIVBYZERO FE_INEXACT FE_INVALID FE_OVERFLOW FE_UNDERFLOW () FE_OVERFLOW|FE_UNDERFLOW. . FE_ALL_EXCEPT OR . feclearexcept() . fegetexceptflag() excepts *flagp. feraiseexcept() excepts. fesetexceptflag() excepts *flagp. fegetexceptflag() excepts. fetestexcept() excepts . . : () ( ) ( ) . FE_TONEAREST FE_UPWARD FE_DOWNWARD FE_TOWARDZERO . fegetround() . fesetround() . C99 POSIX.1-2008 FLT_ROUNDS . : -1 . 0 0. 1 . 2 . 3 . . FLT_ROUNDS fesetround() ( ). fenv_t. FE_DFL_ENV ( const fenv_t *). ISO C ( ). fegetenv() *envp. feholdexcept() ( ) . . fesetenv() *envp. fegetenv() feholdexcept() FE_DFL_ENV. . feupdateenv() *envp . OR *envp. *envp . . attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |feclearexcept(),| | MT-Safe | |fegetexceptflag(),| | | |feraiseexcept(),| | | |fesetexceptflag(),| | | |fetestexcept(),| | | |fegetround(),| | | |fesetround(),| | | |fegetenv(), | | | |feholdexcept(),| | | |fesetenv(), | | | |feupdateenv(),| | | |feenableexcept(),| | | |fedisableexcept(),| | | |fegetexcept()| | | +------------+------------------------------------+--------------------+ C11 POSIX.1-2008 IEC 60559 (IEC 559:1989) ANSI/IEEE 854. C99, POSIX.1-2001. glibc 2.1. glibc GNU C FE_NOMASK_ENV . #ifdef. _GNU_SOURCE. C99 . glibc 2.2 glibc feenableexcept() fedisableexcept() fegetexcept() . #define _GNU_SOURCE /* feature_test_macros(7) */ #include int feenableexcept(int excepts); int fedisableexcept(int excepts); int fegetexcept(void); () feenableexcept() fedisableexcept() excepts -1 . fegetexcept() . C99 FLT_ROUNDS fesetround(). : FLT_ROUNDS 1. math_error(7) 3 . . : . 6.18 8 2026 fenv(3)