次の方法で共有


_get_FMA3_enable, _set_FMA3_enable

超越計算の浮動小数点ライブラリ関数が X64 プラットフォーム用にコンパイルされたコードで FMA3 命令を使用するかどうかを指定するフラグを取得または設定します。

構文

int _set_FMA3_enable(int flag);
int _get_FMA3_enable();

パラメーター

flag
X64 プラットフォームで超越数学浮動小数点ライブラリ関数の FMA3 実装を有効にするには 1、FMA3 命令を使用しない実装を使用するには 0 に設定します。

戻り値

超越計算の演算浮動小数点ライブラリ関数の FMA3 実装が有効な場合は、0 以外の値になります。 有効でない場合は 0 になります。

解説

_set_FMA3_enable関数を使用して、CRT ライブラリの超越数学浮動小数点関数での FMA3 命令の使用を有効または無効にします。 戻り値には、変更後に使用されている実装が反映されます。 CPU が FMA3 命令をサポートしていない場合、この関数はライブラリで有効にできません。戻り値は 0 です。 _get_FMA3_enableを使用して、ライブラリの現在の状態を取得します。 既定では、X64 プラットフォームで、CRT スタートアップ コードは、CPU が FMA3 命令をサポートしているかどうかを検出し、ライブラリの FMA3 実装を有効または無効にします。

FMA3 実装では、さまざまなアルゴリズムが使用されます。 FMA3 実装が有効または無効になっている場合、計算結果のわずかな違いが観察される場合があります。 FMA3 をサポートしているコンピューターまたは FMA3 をサポートしていないコンピューター間でも、違いを確認できる場合があります。 詳細については、「浮動小数点の移行問題」を参照してください。

要件

_set_FMA3_enable関数と_get_FMA3_enable関数は、X64 バージョンの CRT でのみ使用できます。

ルーチンによって返される値 必須ヘッダー
_set_FMA3_enable, _get_FMA3_enable C: <math.h>
C++: <cmath> または <math.h>

_set_FMA3_enable_get_FMA3_enable は、Microsoft 固有の関数です。 互換性の詳細については、「互換性」を参照してください。

関連項目

数値演算と浮動小数点のサポート
浮動小数点の移行に関する問題