0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C++Builder】C ランタイムライブラリリファレンス (fenv.h)

Last updated at Posted at 2024-03-04

浮動小数点環境 (Floating-Point Environment)

ヘッダ
ファイル
fenv.h
規格 C99
概要 浮動小数点環境(floating-point environment)へのアクセス手段を提供するための 2 つの型、幾つかのマクロ及び幾つかの関数を宣言する。

プラグマ

名前 機能 デフォルト
FENV_ACCESS 浮動小数点環境にアクセスするか? または
規定以外の浮動小数点制御モードで実行されるか?
処理系定義

#pragma STDC FENV_ACCESS ON は浮動小数点モードを変更する可能性がある事を処理系に伝えます。これにより、浮動小数点演算に関する最適化を可能にします。FP_CONTRACT プラグマに影響するかもしれません。

名前 機能
fenv_t 浮動小数点環境全体
fexcept_t 浮動小数点状態フラグの集合

マクロ

例外

名前 機能
FE_DIVBYZERO 0 除算例外
FE_INEXACT 不正確例外
FE_INVALID 無効例外
FE_OVERFLOW オーバーフロー例外
FE_UNDERFLOW アンダーフロー例外
FE_ALL_EXCEPT すべての例外 (全体集合)

丸め

名前 機能
FE_DOWNWARD 下方向への丸め
FE_TONEAREST 近いものへの丸め
FE_TOWARDZERO 0 方向への丸め
FE_UPWARD 上方向への丸め

環境

名前 機能
FE_DFL_ENV デフォルトの浮動小数点環境

引数付きマクロ

関数

名前 機能
feclearexcept() 引数 excepts で指定した浮動小数点例外をクリアします
fegetexceptflag() 引数 excepts で指定したステータスフラグを引数 flagp で指定したオブジェクトに格納します
feraiseexcept() 引数 excepts で指定した浮動小数点例外を発生させます
fesetexceptflag() 引数 flagp で指定したオブジェクトに格納されている状態を引数 excepts で指定したステータスフラグに設定します
fetestexcept() 引数 excepts で指定した浮動小数点例外フラグのサブセットのうち、どれが現在設定されているかを判定します
fegetround() 現在の丸め方向を取得します
fesetround() 引数 round で表される丸め方向に設定します
fegetenv() 現在の浮動小数点環境を envp が指すオブジェクトに格納します
feholdexcept() 引数 envp が指すオブジェクトに現在の浮動小数点環境を保存し、ステータスフラグをクリアした後、ノンストップモード (浮動小数点例外時に続行) に移行します
fesetenv() envp が指すオブジェクトが表す浮動小数点環境の設定を試みます
feupdateenv() 現在発生している浮動小数点例外を自動変数に保存し、envp が指すオブジェクトが表す浮動小数点環境を設定してから、保存した浮動小数点例外の発生を試みます

資料


⇦ インデックスへ


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?