seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part LVI: fenv.h: 浮動小数点環境: 関数 (2000/03/17 [])
 今回は fenv.h で新たに定義された関数について説明します。

例外(exceptions)制御関数
名前プロトタイプ解説
fegetexceptflag
voidfegetexceptflag(fexcept_t *f, int e);
e で指定された例外フラグを実装定義依存の値として f に格納する。
fesetexceptflag
voidfesetexceptflag(const fexcept_t *f, int e);
f で指定されたオブジェクトでの表現に従い、e で指定された例外フラグに対する完全な状態をセットする。この関数ではフラグの状態をセットするだけで例外は発生しない。
feclearexcept
voidfeclearexcept(int e);
e で指定された例外フラグをクリアする。
fetestexcept
intfetestexcept(int e);
e で指定された例外フラグが現在セットされているか検査し、セットされている例外フラグ値を返す。
feraiseexcept
voidferaiseexcept(int e);
e で指定された例外を発生させる。overflow または underflow 例外を発生させた後常に inexact 例外を発生させるかどうかは実装依存である。


丸め(rounding)制御関数
名前プロトタイプ解説
fegetround
intfegetround(void);
現在の丸モードを丸めフラグの値で返す。
fesetround
intfesetround(int r);
r で指定された丸めモードにセットする。引数が丸めフラグの値でないときは状態は変更されない。引数が丸めフラグのときに限り 0 を返す。


環境(environment)操作関数
名前プロトタイプ解説
fegetenv
voidfegetenv(fenv_t *e);
現在の浮動小数点環境を e に格納する。
fesetenv
voidfesetenv(const fenv_t *e);
現在の浮動小数点環境に指定された浮動小数点環境 e を設定する。
feholdexcept
intfeholdexcept(fenv_t *e);
現在の浮動小数点環境を e に格納し、例外フラグをクリアし、可能であれば全例外に対し(例外でも継続する)非停止モードに設定する。もし非停止モードに設定できたときは 0 を返す。
feupdateenv
voidfeupdateenv(const fenv_t *e);
現在発生した例外を一時領域に格納し、e で指定された浮動小数点環境を設定した後、一時領域に格納した例外を発生させる。



by seclan


| |

 

配信

4.14 msec