C语言fenv头文件(fenv.h)中feupdateenv函数的用法及代码示例。
用法:
int feupdateenv (const fenv_t* envp);
更新浮点环境
调用此函数的程序应确保编译指示FENV_ACCESS已启用该调用。
参数
- envp
- 指向a的指针fenv_t值(由之前的调用填充fegetenv或者feholdexcept),或其中之一浮点环境宏值:
某些库实现可能支持其他浮点环境状态值(及其对应的宏也以值 描述 FE_DFL_ENV 默认浮点环境(与程序启动时相同)。 FE_
)。
返回值
如果成功,则为零。否则为非零值。
示例
/* feholdexcept/feupdateenv example */
#include <stdio.h> /* printf, puts */
#include <fenv.h> /* feholdexcept, feclearexcept, fetestexcept, feupdateenv, FE_* */
#include <math.h> /* log */
#pragma STDC FENV_ACCESS on
double log_zerook (double x) {
fenv_t fe;
feholdexcept(&fe);
x=log(x);
feclearexcept (FE_OVERFLOW|FE_DIVBYZERO);
feupdateenv(&fe);
return x;
}
int main ()
{
feclearexcept (FE_ALL_EXCEPT);
printf ("log(0.0): %f\n", log_zerook(0.0));
if (!fetestexcept(FE_ALL_EXCEPT))
puts ("no exceptions raised");
return 0;
}
可能的输出:
log(0.0): -inf no exceptions raised |
相关用法
- C语言 feclearexcept用法及代码示例
- C语言 feraiseexcept用法及代码示例
- C语言 fegetround用法及代码示例
- C语言 fesetround用法及代码示例
- C语言 feholdexcept用法及代码示例
- C语言 fetestexcept用法及代码示例
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C feupdateenv function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。