C語言math頭文件(math.h)中fma函數的用法及代碼示例。
用法:
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);
Multiply-add
該函數在不損失任何中間結果精度的情況下計算結果。
可以在實現中定義以下宏常量,以信號表示此函數通常在執行以下操作中的算術運算後提供效率上的改進
x*y+z
(例如,使用硬件multiply-add指令時):宏 | 描述 |
---|---|
FP_FAST_FMA | 對於類型的參數double ,它的執行速度通常約等於或快於x*y+z 。 |
FP_FAST_FMAF | 對於類型的參數float ,它的執行速度通常約等於或快於x*y+z 。 |
FP_FAST_FMAL | 對於類型的參數long double ,它的執行速度通常約等於或快於x*y+z 。 |
標頭<tgmath.h>提供此函數的type-generic宏版本。
參數
- x, y
- 要相乘的值。
- z
- 要增加的價值。
返回值
的結果x*y+z
示例
/* fma example */
#include <stdio.h> /* printf */
#include <math.h> /* fma, FP_FAST_FMA */
int main ()
{
double x,y,z,result;
x = 10.0, y = 20.0, z = 30.0;
#ifdef FP_FAST_FMA
result = fma(x,y,z);
#else
result = x*y+z;
#endif
printf ("10.0 * 20.0 + 30.0 = %f\n", result);
return 0;
}
輸出:
10.0 * 20.0 + 30.0 = 230.000000 |
相關用法
- C語言 cos用法及代碼示例
- C語言 sin用法及代碼示例
- C語言 tan用法及代碼示例
- C語言 acos用法及代碼示例
- C語言 asin用法及代碼示例
- C語言 atan用法及代碼示例
- C語言 atan2用法及代碼示例
- C語言 cosh用法及代碼示例
- C語言 sinh用法及代碼示例
- C語言 tanh用法及代碼示例
- C語言 acosh用法及代碼示例
- C語言 asinh用法及代碼示例
- C語言 atanh用法及代碼示例
- C語言 exp用法及代碼示例
- C語言 frexp用法及代碼示例
- C語言 ldexp用法及代碼示例
- C語言 log用法及代碼示例
- C語言 log10用法及代碼示例
- C語言 modf用法及代碼示例
- C語言 exp2用法及代碼示例
- C語言 expm1用法及代碼示例
- C語言 ilogb用法及代碼示例
- C語言 log1p用法及代碼示例
- C語言 log2用法及代碼示例
- C語言 logb用法及代碼示例
- C語言 scalbn用法及代碼示例
- C語言 scalbln用法及代碼示例
- C語言 pow用法及代碼示例
- C語言 sqrt用法及代碼示例
- C語言 cbrt用法及代碼示例
- C語言 hypot用法及代碼示例
- C語言 erf用法及代碼示例
- C語言 erfc用法及代碼示例
- C語言 tgamma用法及代碼示例
- C語言 lgamma用法及代碼示例
- C語言 ceil用法及代碼示例
- C語言 floor用法及代碼示例
- C語言 fmod用法及代碼示例
- C語言 trunc用法及代碼示例
- C語言 round用法及代碼示例
- C語言 lround用法及代碼示例
- C語言 llround用法及代碼示例
- C語言 rint用法及代碼示例
- C語言 lrint用法及代碼示例
- C語言 llrint用法及代碼示例
- C語言 nearbyint用法及代碼示例
- C語言 remainder用法及代碼示例
- C語言 remquo用法及代碼示例
- C語言 copysign用法及代碼示例
- C語言 nextafter用法及代碼示例
- C語言 nexttoward用法及代碼示例
- C語言 fdim用法及代碼示例
- C語言 fmax用法及代碼示例
- C語言 fmin用法及代碼示例
- C語言 fabs用法及代碼示例
- C語言 abs用法及代碼示例
- C語言 isfinite用法及代碼示例
- C語言 isgreater用法及代碼示例
- C語言 isgreaterequal用法及代碼示例
- C語言 isless用法及代碼示例
- C語言 islessequal用法及代碼示例
- C語言 islessgreater用法及代碼示例
- C語言 isunordered用法及代碼示例
注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C fma function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。