feholdexcept

指定したオブジェクトに現在の浮動小数点環境を格納し、浮動小数点状態フラグをクリアし、可能であれば、浮動小数点環境を無停止モードにします。

構文

int feholdexcept(
   fenv_t *penv
);

パラメーター

penv
浮動小数点環境のコピーを含む fenv_t オブジェクトへのポインター。

戻り値

関数が無停止の浮動小数点例外処理を正常に有効にすることができる場合にのみ、0 を返します。

解説

feholdexcept 関数は、penv が示す fenv_t オブジェクトの現在の浮動小数点環境の状態を格納し、浮動小数点例外に対する実行を中断しないように環境を設定するために使用されます。 このモードは、非停止モード呼ばれます。 このモードは、環境が復元されるまで続行されます。fesetenvfeupdateenv

この関数は、1 つまたは複数の浮動小数点例外を呼び出し元から隠す必要があるサブルーチンの開始時に使用できます。 例外を報告するには、 を使用 feclearexceptして不要な例外をクリアしてから、非停止モードを終了します feupdateenv

この関数を使用するには、呼び出しの前に #pragma fenv_access(on) ディレクティブを使用してアクセスを妨げる可能性のある浮動小数点の最適化をオフにする必要があります。 詳細については、fenv_accessを参照してください。

必要条件

機能 C ヘッダー C++ ヘッダー
feholdexcept <fenv.h> <cfenv>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

アルファベット順関数リファレンス
feclearexcept
fesetenv
feupdateenv