7.4.15 < fenv.h>

浮動小数点環境へアクセスします。

以下は、すべて処理系定義です。

種別

定義名

説明

(マクロ)

fenv_t

浮動小数点環境全体の型です。

fexcept_t

浮動小数点状態フラグの型です。

定数

(マクロ)

FE_DIVBYZERO

FE_INEXACT

FE_INVALID

FE_OVERFLOW

FE_UNDERFLOW

FE_ALL_EXCEPT

浮動小数点例外をサポートするときに定義されるマクロです。

定数

(マクロ)

FE_DOWNWARD

FE_TONEAREST

FE_TOWARDZERO

FE_UPWARD

浮動小数点数の丸め方向のマクロです。

定数

(マクロ)

FE_DFL_ENV

プログラム既定の浮動小数点環境です。

関数

feclearexcept

浮動小数点例外のクリアを試みます。

fegetexceptflag

浮動小数点フラグの状態のオブジェクトへの格納を試みます。

feraiseexcept

浮動小数点例外の生成を試みます。

fesetexceptflag

浮動小数点フラグのセットを試みます。

fetestexcept

浮動小数点フラグがセットされているか確認します。

fegetround

丸め方向を取得します。

fesetround

丸め方向を設定します。

fegetenv

浮動小数点環境の取得を試みます。

feholdexcept

浮動小数点環境を保存し、浮動小数点状態フラグをクリアし、浮動小数点例外について無停止モードに設定します。

fesetenv

浮動小数点環境の設定を試みます。

feupdateenv

浮動小数点例外の自動記憶域への保存、浮動小数点環境の設定、保存していた浮動小数点例外の生成を試みます。

feclearexcept

浮動小数点例外のクリアを試みます。

 

[指定形式]

#include <fenv.h>

long feclearexcept(long e);

 

[引数]

e 浮動小数点例外

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。
使用してもリターン値として異常を表す0以外を返します。

 

fegetexceptflag

例外フラグの状態を取得します。

 

[指定形式]

#include <fenv.h>

long fegetexceptflag(fexcept_t *f, long e);

 

[引数]

f 例外フラグ状態の格納先を指すポインタ

e 状態を取得する例外フラグを表す値

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

feraiseexcept

浮動小数点例外の生成を試みます。

 

[指定形式]

#include <fenv.h>

long feraiseexcept(long e);

 

[引数]

e 生成を試みる例外を指す値

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

feraiseexcept関数が、“オーバフロー”浮動小数点例外又は“アンダフロー”浮動小数点例外を生成する際に“不正確結果”浮動小数点例外を生成するかどうかは、処理系定義とします。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

fesetexceptflag

例外フラグの状態を設定します。

 

[指定形式]

#include <fenv.h>

long fesetexceptflag(const fexcept_t *f, long e);

 

[引数]

f 例外フラグ状態の取得元を指すポインタ

e 状態を設定する例外フラグを表す値

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

fesetexceptflag関数を呼ぶ前にフラグ状態の取得元をfegetexceptflag関数にて設定してください。

fesetexceptflag関数は浮動小数点例外を生成せず、フラグの状態だけを設定します。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

fetestexcept

例外フラグの状態を判定します。

 

[指定形式]

#include <fenv.h>

long fetestexcept(long e);

 

[引数]

e 状態を判定するフラグ(複数可)を表す値

 

[戻り値]

eと浮動小数点例外マクロのビット単位の論理和

 

[備考]

fetestexcept関数は1回の呼び出しで複数個の浮動小数点例外を判定することができます。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

fegetround

その時点の丸め方向を取得します。

 

[指定形式]

#include <fenv.h>

long fegetround(void);

 

[戻り値]

正常: 0

異常: 丸め方向マクロ値が存在しない

    又は丸め方向を決めることができない場合は負の値

 

[備考]

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

fesetround

その時点の丸め方向を設定します。

 

[指定形式]

#include <fenv.h>

#include <assert.h>

long fesetround(long rnd);

 

[戻り値]

成功した場合のみに0

 

[備考]

fesetround関数に丸め方向マクロの値と等しくない変更を要求した場合

丸め方向を変更しません。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

fegetenv

浮動小数点環境を取得します。

 

[指定形式]

#include <fenv.h>

long fegetenv( fenv_t *f);

 

[引数]

f 浮動小数点環境格納先を指すポインタ

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

feholdexcept

浮動小数点環境を保存します。

 

[指定形式]

#include <fenv.h>

long feholdexcept(fenv_t *f);

 

[引数]

f 浮動小数点環境を指すポインタ

 

[戻り値]

成功した場合のみに0

 

[備考]

feholdexcept関数は浮動小数点関数環境保存時に浮動小数点状態フラグをクリアし、すべての浮動小数点例外について、無停止(non-stop)モードを設定します。無停止モード設定時は浮動小数点例外発生時も実行を継続します。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

fesetenv

浮動小数点環境を設定します。

 

[指定形式]

#include <fenv.h>

long fesetenv(const fenv_t *f);

 

[引数]

f 浮動小数点環境を指すポインタ

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

設定する環境はfegetenv関数またはfeholdexcept関数にて設定した環境か、浮動小数点環境マクロと等しい環境を指定していください。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。

 

feupdateenv

既出の例外を残したまま浮動小数点環境を設定します。

 

[指定形式]

#include <fenv.h>

long feupdateenv(const fenv_t *f);

 

[引数]

f 設定する浮動小数点環境を指すポインタ

 

[戻り値]

正常: 0

異常: 0以外

 

[備考]

設定する浮動小数点環境は、fegetenv関数またはfeholdexcept関数の呼出しによって設定されたオブジェクトを指すか、又は浮動小数点環境マクロに等しいものにしてください。

本関数は、コンパイルオプションnofpuが選択されている場合は使用しないでください。

使用してもリターン値として異常を表す0以外を返します。