函数
<cfenv>

fesetenv

int fesetenv (const fenv_t* envp);
设置浮点环境
尝试建立由 envp 指向的对象所表示的浮点环境状态。

浮点环境是一组影响浮点计算的状态标志和控制模式(包括浮点异常舍入方向模式)。

如果成功,该函数将更改当前浮点环境的状态,而不会实际引发该状态中指定的异常。

调用此函数的程序应确保在调用时启用了 pragma FENV_ACCESS

参数

envp
指向 fenv_t 值的指针(由先前对 fegetenvfeholdexcept 的调用填充),或者是浮点环境宏值之一。
描述
FE_DFL_ENV默认浮点环境(与程序启动时相同)。
某些库实现可能支持额外的浮点环境状态值(其对应的宏也以 FE_ 开头)。

返回值

如果状态成功建立,则为零。
否则返回一个非零值。

数据竞争

每个线程维护一个独立的浮点环境及其自身的状态。生成一个新线程会复制当前状态。[此规定适用于 C11 和 C++11 实现]

异常

无异常保证:此函数从不抛出异常。

另见