fmaxf
fmax, fmaxf, fmaxl
在头文件 | | |
---|---|---|
float fmaxf( float x, float y | (1) | (自 C99) |
double fmax( double x, double y | (2) | (自 C99) |
long double fmaxl( long double x, long double y | (3) | (自 C99) |
在头文件<tgmath.h>中定义 | | |
#define fmax( x, y ) | (4) | (自 C99) |
1-3)返回两个浮点参数中较大的一个,将NaN视为缺失数据(在NaN和数值之间选择数值)。
4)类型泛型宏:如果任何参数的类型为long double,则调用fmaxl。 否则,如果任何参数具有整数类型或类型为double,则调用fmax。 否则,调用fmaxf。
参数
x, y | - | floating point values |
---|
返回值
如果成功,则返回两个浮点值中较大的一个。返回的值是精确的,并不取决于任何舍入模式。
错误处理
此函数不受math_errhandling中指定的任何错误条件的约束。
如果实现支持IEEE浮点运算(IEC 60559),
- 如果两个参数之一是NaN,则返回另一个参数的值
注意
该函数不要求对零符号敏感,但有些实现还强制规定,如果一个参数为+0,另一个为-0,则返回+0。
例
#include <stdio.h>
#include <math.h>
int main(void)
{
printf("fmax(2,1) = %f\n", fmax(2,1)
printf("fmax(-Inf,0) = %f\n", fmax(-INFINITY,0)
printf("fmax(NaN,-1) = %f\n", fmax(NAN,-1)
}
输出:
fmax(2,1) = 2.000000
fmax(-Inf,0) = 0.000000
fmax(NaN,-1) = -1.000000
参考
- C11标准(ISO / IEC 9899:2011):
扩展内容
isgreater(C99) | 检查第一个浮点参数是否大于第二个(函数) |
---|---|
fmfminfminl(C99)(C99)(C99) | 确定两个浮点值中较小的一个(函数) |
| fmax的C ++文档 |