fetestexceptflag函数
概要:
#include <fenv.h> int fetestexceptflag(const fexcept_t *flagp, int excepts);
描述:
该函数用于确定在参数flagp指向的对象中,哪些指定的浮点异常标志子集被设置。*flagp值应先通过fegetexceptflag函数调用获取,fegetexceptflag函数的第二个参数至少表示参数excepts表示的浮点异常。参数excepts指定要查询的浮点状态标志。
函数fetestexcept、feraiseexcept、fesetexcept、feclearexcept支持设置或者清除浮点状态标志的基本抽象。具体实现中,浮点状态标志可能包含更多信息,例如:首次引发浮点异常的代码地址;函数fegetexceptflag、fesetexceptflag、fetestexceptflag能够处理浮点状态标志的全部内容。
参数:
const fexcept_t *flagp
参数为指向const fexcept_t类型对象的指针。
int excepts
参数为位掩码值,表示浮点异常的子集,可以是0,也可以是一个或者多个实现支持的浮点异常宏的按位或运算值(例如:FE_OVERFLOW|FE_INEXACT)。如果参数是其它值,函数行为是未定义的。
返回值:
函数返回参数excepts中包含的、*flagp中设置的浮点异常对应的浮点异常宏的按位或运算值。
范例:
|
|
可能输出:
The following exceptions are set:
FE_INEXACT
FE_OVERFLOW
(注:编译时实现还未支持fetestexceptflag函数。)
相关内容:
| feclearexcept | 清除浮点异常(基本抽象)的函数。 |
| fegetexceptflag | 获取浮点状态标志状态(完整内容)的函数。 |
| feraiseexcept | 引发浮点异常(基本抽象)的函数。 |
| fesetexceptflag | 设置浮点状态标志(完整内容)的函数。 |
| fesetexcept | 设置浮点异常标志(基本抽象)的函数。 |
| fetestexcept | 测试浮点异常标志(基本抽象)的函数。 |
主要参考资料: