当前位置: C语言 -- 标准库 -- <math.h> -- fma

fma函数


概要:
#include <math.h>
double fma(double x, double y, double z);

描述:

该函数计算表达式(x×y)+z的值,整个运算作为一个三元操作舍入:该函数(好像)以无限的精度计算值,并根据当前舍入模式一次舍入到结果格式。

该函数可能会发生范围错误(range error)


参数:
double x

参数为一个double类型的浮点数。

double y

参数为一个double类型的浮点数。

double z

参数为一个double类型的浮点数。


返回值:

函数返回(x×y)+z的值。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
/*函数fma范例*/

#include <math.h>
#include <stdio.h>

int main(void)
{
    double x = 2.0;
    double y = 2.5;
    double z = 3.0;

    printf("fma(%.2f,%.2f,%.2f) = %.2f\n", x, y, z, fma(x,y,z));

    return 0;
}

输出:

fma(2.00,2.50,3.00) = 8.00


相关内容:
fmaf float类型的浮点乘法加法函数。
fmal long double类型的浮点乘法加法函数。