double fma (double x , double y , double z); float fmaf (float x , float y , float z);long double fmal (long double x, long double y, long double z);
double fma (double x , double y , double z); float fma (float x , float y , float z);long double fma (long double x, long double y, long double z); double fma (Type1 x , Type2 y , Type3 z); // additional overloads
x*y+z
算術運算提供更高的效率(例如當使用硬體乘加指令時):宏 | 描述 |
---|---|
FP_FAST_FMA | 對於 double 型別的引數,其執行速度通常與 x*y+z 一樣快或更快。 |
FP_FAST_FMAF | 對於 float 型別的引數,其執行速度通常與 x*y+z 一樣快或更快。 |
FP_FAST_FMAL | 對於 long double 型別的引數,其執行速度通常與 x*y+z 一樣快或更快。 |
x*y+z
的結果
|
|
10.0 * 20.0 + 30.0 = 230.000000 |