Namespaces
Variants

Standard library header <fenv.h> (C99)

From cppreference.net

此头文件属于 浮点环境 库的一部分。

目录

类型

定义于头文件 <fenv.h>
fenv_t 表示整个浮点环境的类型
fexcept_t 表示所有浮点状态标志的集合类型

函数

清除指定的浮点状态标志
(函数)
检测哪些指定的浮点状态标志被设置
(函数)
触发指定的浮点异常
(函数)
从浮点环境复制指定浮点状态标志的状态或向浮点环境复制状态
(函数)
获取或设置舍入方向
(函数)
保存或恢复当前浮点环境
(函数)
保存环境,清除所有状态标志并忽略所有后续错误
(函数)
恢复浮点环境并触发先前引发的异常
(函数)

浮点异常
(宏常量)
浮点舍入方向
(宏常量)
默认浮点环境
(宏常量)

概要

#define __STDC_VERSION_FENV_H__ 202311L
#define FE_ALL_EXCEPT         /* 参见描述 */
#define FE_DIVBYZERO          /* 参见描述 */
#define FE_INEXACT            /* 参见描述 */
#define FE_INVALID            /* 参见描述 */
#define FE_OVERFLOW           /* 参见描述 */
#define FE_UNDERFLOW          /* 参见描述 */
#define FE_DOWNWARD           /* 参见描述 */
#define FE_TONEARESTFROMZERO  /* 参见描述 */
#define FE_TONEAREST          /* 参见描述 */
#define FE_TOWARDZERO         /* 参见描述 */
#define FE_UPWARD             /* 参见描述 */
#define FE_DFL_ENV            /* 参见描述 */
#define FE_DFL_MODE           /* 参见描述 */
#define fenv_t                /* 参见描述 */
#define fexcept_t             /* 参见描述 */
#define femode_t              /* 参见描述 */
#pragma STDC FENV_ACCESS      /*on-off-switch*/
#pragma STDC FENV_ROUND       direction
#pragma STDC FENV_ROUND       FE_DYNAMIC
// 函数
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);
// 仅当实现定义了 __STDC_IEC_60559_DFP__ 时:
#define FE_DEC_DOWNWARD            /* 实现定义 */
#define FE_DEC_TONEARESTFROMZERO   /* 实现定义 */
#define FE_DEC_TONEAREST           /* 实现定义 */
#define FE_DEC_TOWARDZERO          /* 实现定义 */
#define FE_DEC_UPWARD              /* 实现定义 */
#pragma STDC FENV_DEC_ROUND /*dec-direction*/
int fe_dec_getround(void);
int fe_dec_setround(int rnd);
// 仅当实现遵循 F.2.2 中的推荐实践时:
#define FE_SNANS_ALWAYS_SIGNAL /* 实现定义 */