_get_FMA3_enable, _set_FMA3_enable
Gets or sets a flag that specifies whether the transcendental math floating-point library functions use FMA3 instructions in code compiled for X64 platforms.
Syntax
int _set_FMA3_enable(int flag);
int _get_FMA3_enable();
Parameters
flag
Set to 1 to enable the FMA3 implementations of the transcendental math floating-point library functions on X64 platforms, or to 0 to use the implementations that do not use FMA3 instructions.
Return Value
A non-zero value if the FMA3 implementations of the transcendental math floating-point library functions are enabled. Otherwise, zero.
Remarks
Use the _set_FMA3_enable function to enable or disable the use of FMA3 instructions in the transcendental math floating-point functions in the CRT library. The return value reflects the implementation in use after the change. If the CPU does not support FMA3 instructions, this function cannot enable them in the library, and the return value is zero. Use _get_FMA3_enable to get the current state of the library. By default, on X64 platforms, the CRT startup code detects whether the CPU supports FMA3 instructions, and enables or disables the FMA3 implementations in the library.
Because the FMA3 implementations use different algorithms, slight differences in the result of computations may be observable when the FMA3 implementations are enabled or disabled, or between computers that do or do not support FMA3. For more information, see Floating-point migration issues.
Requirements
The _set_FMA3_enable and _get_FMA3_enable functions are only available in the X64 versions of the CRT.
| Routine | Required header |
|---|---|
| _set_FMA3_enable, _get_FMA3_enable | C: <math.h> C++: <cmath> or <math.h> |
The _set_FMA3_enable and _get_FMA3_enable functions are Microsoft-specific. For compatibility information, see Compatibility.
See also
Feedback
Issottometti u ara feedback għal