Namespaces
Variants

Floating-point environment

From cppreference.net

浮動小数点環境は、実装でサポートされている浮動小数点ステータスフラグと制御モードの集合です。これはスレッドローカルであり、各スレッドは親スレッドから初期状態の浮動小数点環境を継承します。浮動小数点演算は、異常な結果や補助情報を示すために浮動小数点ステータスフラグを変更します。浮動小数点制御モードの状態は、一部の浮動小数点演算の結果に影響を与えます。

浮動小数点環境へのアクセスおよび変更は、 #pragma STDC FENV_ACCESS ON に設定されている場合にのみ意味を持ちます。そうでない場合、実装は浮動小数点制御モードが常にデフォルトのものであり、浮動小数点ステータスフラグがテストまたは変更されることがないと仮定して自由に動作できます。実際には、HP aCC、Oracle Studio、IBM XLなどの一部の現行コンパイラは #pragma を明示的にサポートしていますが、ほとんどのコンパイラではとにかく浮動小数点環境への意味のあるアクセスが可能です。

目次

定義済みヘッダ <fenv.h>
fenv_t 浮動小数点環境全体を表す型
fexcept_t すべての浮動小数点ステータスフラグを総合的に表す型

関数

指定された浮動小数点ステータスフラグをクリアする
(関数)
指定された浮動小数点ステータスフラグのうち設定されているものを判定する
(関数)
指定された浮動小数点例外を発生させる
(関数)
指定された浮動小数点ステータスフラグの状態を浮動小数点環境から取得、または浮動小数点環境へ設定する
(関数)
丸め方向を取得または設定する
(関数)
現在の浮動小数点環境を保存または復元する
(関数)
環境を保存し、すべてのステータスフラグをクリアして将来のすべてのエラーを無視する
(関数)
浮動小数点環境を復元し、以前に発生した例外を発生させる
(関数)

マクロ

浮動小数点例外
(マクロ定数)
浮動小数点丸め方向
(マクロ定数)
デフォルト浮動小数点環境
(マクロ定数)

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.6 浮動小数点環境 <fenv.h> (p: TBD)
  • 7.31.4 浮動小数点環境 <fenv.h> (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.6 浮動小数点環境 <fenv.h> (p: 150-156)
  • 7.31.4 浮動小数点環境 <fenv.h> (p: 332)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.6 浮動小数点環境 <fenv.h> (p: 206-215)
  • 7.31.4 浮動小数点環境 <fenv.h> (p: 455)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.6 浮動小数点環境 <fenv.h> (p: 187-196)

関連項目

C++ documentation for Floating-point environment