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

ffmal函数


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

描述:

该函数像具有无限精度一样计算表达式(x×y)+z的值,然后根据当前舍入模式将结果一次舍入为函数返回类型。

对于某些有限参数,会发生范围错误。对于无穷大参数,可能会发生域错误。


参数:
long double x

参数为long double类型的浮点数。

long double y

参数为long double类型的浮点数。

long double z

参数为long double类型的浮点数。


返回值:

函数返回(x×y)+z,并将返回值舍入到float类型。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
/*函数ffmal范例*/

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

int main(void)
{
    #if __STDC_VERSION_MATH_H__ >= 202311L
        long double x = 2.0L;
        long double y = 2.5L;
        long double z = 3.0L;
        
        printf("ffmal(%.2Lf,%.2Lf,%.2Lf) = %.2f\n", x, y, z, ffmal(x,y,z));
    #else
        puts("The implementation does not support ffmal function.");
    #endif

    return 0;
}

输出:

The implementation does not support ffmal function.


相关内容:
ffma double类型至float类型的融合乘加运算并且结果舍入到更窄类型的函数。
dfmal long double类型至double类型的融合乘加运算并且结果舍入到更窄类型的函数。
d32fmad64 _Decimal64类型至_Decimal32类型的融合乘加运算并且结果舍入到更窄类型的函数。
d32fmad128 _Decimal128类型至_Decimal32类型的融合乘加运算并且结果舍入到更窄类型的函数。
d64fmad128 _Decimal128类型至_Decimal64类型的融合乘加运算并且结果舍入到更窄类型的函数。


主要参考资料:

1、ISO/IEC 9899:2024