Share via


_get_FMA3_enable, _set_FMA3_enable

取得或設定旗標,指定超越數學浮點程式庫函式是否在針對 X64 平臺編譯的程式碼中使用 FMA3 指令。

語法

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

參數

flag
設定為 1 以啟用 X64 平臺上超然數學浮點程式庫函式的 FMA3 實作,或設定為 0 以使用不使用 FMA3 指令的實作。

傳回值

如果已啟用超越數學浮點程式庫函式的 FMA3 實作,則為非零值。 否則為零。

備註

使用 函 _set_FMA3_enable 式在 CRT 程式庫中的超越數學浮點函式中啟用或停用 FMA3 指令的使用。 傳回值會反映變更之後使用的實作。 如果 CPU 不支援 FMA3 指令,則此函式無法在程式庫中啟用它們,而且傳回值為零。 使用 _get_FMA3_enable 取得程式庫的目前狀態。 根據預設,在 X64 平臺上,CRT 啟動程式碼會偵測 CPU 是否支援 FMA3 指令,並啟用或停用程式庫中的 FMA3 實作。

FMA3 實作使用不同的演算法。 啟用或停用 FMA3 實作時,計算結果的輕微差異可能會有所觀察。 執行或不支援 FMA3 的電腦之間也可能有差異。 如需詳細資訊,請參閱 浮點移轉問題

需求

_get_FMA3_enable_set_FMA3_enable 式僅適用于 CRT 的 X64 版本。

常式 必要的標頭
_set_FMA3_enable, _get_FMA3_enable C: < math.h>
C++: < cmath > 或 < math.h>

_get_FMA3_enable_set_FMA3_enable 式是 Microsoft 特有的。 如需相容性資訊,請參閱相容性

另請參閱

數學和浮點支援
浮點數的移轉問題