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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。