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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。