标准库头文件 <fenv.h> (C99)
来自 cppreference.cn
此头文件是浮点环境库的一部分。
目录 |
[编辑] 类型
定义于头文件
<fenv.h> | |
fenv_t | 表示整个浮点环境的类型 |
fexcept_t | 表示所有浮点状态标志集合的类型 |
[编辑] 函数
(C99) |
清除指定的浮点状态标志 (函数) |
(C99) |
确定哪些指定的浮点状态标志被设置 (函数) |
(C99) |
引发指定的浮点异常 (函数) |
(C99)(C99) |
从浮点环境复制或向浮点环境复制指定的浮点状态标志的状态 (函数) |
(C99)(C99) |
获取或设置舍入方向 (函数) |
(C99) |
保存或恢复当前的浮点环境 (函数) |
(C99) |
保存环境,清除所有状态标志并忽略所有未来错误 (函数) |
(C99) |
恢复浮点环境并引发之前引发的异常 (函数) |
[编辑] 宏
浮点异常 (宏常量) | |
浮点舍入方向 (宏常量) | |
(C99) |
默认浮点环境 (宏常量) |
[编辑] 概要
#define __STDC_VERSION_FENV_H__ 202311L #define FE_ALL_EXCEPT /* see description */ #define FE_DIVBYZERO /* see description */ #define FE_INEXACT /* see description */ #define FE_INVALID /* see description */ #define FE_OVERFLOW /* see description */ #define FE_UNDERFLOW /* see description */ #define FE_DOWNWARD /* see description */ #define FE_TONEARESTFROMZERO /* see description */ #define FE_TONEAREST /* see description */ #define FE_TOWARDZERO /* see description */ #define FE_UPWARD /* see description */ #define FE_DFL_ENV /* see description */ #define FE_DFL_MODE /* see description */ #define fenv_t /* see description */ #define fexcept_t /* see description */ #define femode_t /* see description */ #pragma STDC FENV_ACCESS /*on-off-switch*/ #pragma STDC FENV_ROUND direction #pragma STDC FENV_ROUND FE_DYNAMIC // functions int feclearexcept(int excepts); int fegetexceptflag(fexcept_t* flagp, int excepts); int feraiseexcept(int excepts); int fesetexcept(int excepts); int fesetexceptflag(const fexcept_t* flagp, int excepts); int fetestexceptflag(const fexcept_t* flagp, int excepts); int fetestexcept(int excepts); int fegetmode(femode_t* modep); int fegetround(void); int fesetmode(const femode_t* modep); int fesetround(int rnd); int fegetenv(fenv_t* envp); int feholdexcept(fenv_t* envp); int fesetenv(const fenv_t* envp); int feupdateenv(const fenv_t* envp); // Only if the implementation defines __STDC_IEC_60559_DFP__: #define FE_DEC_DOWNWARD /* implementation-defined */ #define FE_DEC_TONEARESTFROMZERO /* implementation-defined */ #define FE_DEC_TONEAREST /* implementation-defined */ #define FE_DEC_TOWARDZERO /* implementation-defined */ #define FE_DEC_UPWARD /* implementation-defined */ #pragma STDC FENV_DEC_ROUND /*dec-direction*/ int fe_dec_getround(void); int fe_dec_setround(int rnd); // Only if the implementation follows the recommended practice from F.2.2: #define FE_SNANS_ALWAYS_SIGNAL /* implementation-defined */