次の方法で共有


feupdateenv

現在発生している浮動小数点例外を保存し、指定した浮動小数点環境状態を復元し、保存されている浮動小数点例外を発生させます。

構文

int feupdateenv(
   const fenv_t* penv
);

パラメーター

penv
fegetenvまたはfeholdexceptの呼び出しによって設定された浮動小数点環境を含むfenv_t オブジェクトへのポインター。 FE_DFL_ENV マクロを使用して、既定のスタートアップ浮動小数点環境を指定することもできます。

戻り値

すべてのアクションが正常に完了した場合は、0 を返します。 それ以外の場合は、0 以外の値を返します。

解説

feupdateenv 関数は複数のアクションを実行します。 まず、現在発生している浮動小数点例外状態フラグを自動ストレージに格納します。 次に、penv が示す fenv_t オブジェクトに格納されている値から現在の浮動小数点環境を設定します。 penvFE_DFL_ENVされていないか、有効なfenv_t オブジェクトを指していない場合、後続の動作は未定義です。 最後に、feupdateenv は、ローカルに格納されている浮動小数点例外を発生させます。

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

要件

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

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

関連項目

fegetenv
feclearexcept
feholdexcept
fesetexceptflag