次の方法で共有


feholdexcept

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

構文

int feholdexcept(
   fenv_t *penv
);

パラメーター

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

戻り値

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

解説

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

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

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

要件

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

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

関連項目

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