std::fmax, std::fmaxf, std::fmaxl
定义于头文件 <cmath>
|
||
float fmax ( float x, float y ); float fmaxf( float x, float y ); |
(1) | (C++11 起) |
double fmax ( double x, double y ); |
(2) | (C++11 起) |
long double fmax ( long double x, long double y ); long double fmaxl( long double x, long double y ); |
(3) | (C++11 起) |
Promoted fmax ( Arithmetic1 x, Arithmetic2 y ); |
(4) | (C++11 起) |
1-3) 返回二个浮点数的较大者,把 NaNs 当做缺失数据(在 NaN 和数值间选择数值)
4) 所有 1-3) 所不覆盖的算术类型参数组合的重载集或函数模板。若任何参数拥有整数类型,则将它转型为 double 。若任何其他参数为 long double ,则返回类型为 long double ,否则为 double 。
参数
x, y | - | 浮点或整数类型值 |
返回值
若成功,则返回二个浮点值的较大者。返回值准确且不依赖任何舍入模式。
错误处理
此函数不受制于 math_errhandling 中指定的任何错误条件。
若实现支持 IEEE 浮点算术( IEC 60559 ),则
- 若二个参数之一为 NaN ,则返回另一参数的值
- 仅若二个参数均为 NaN ,才返回 NaN
注意
不要求此函数对零的符号敏感,尽管某些实现额外强制若一个参数是 +0 而另一个是 -0 ,则返回 +0 。
示例
运行此代码
输出:
fmax(2,1) = 2 fmax(-Inf,0) = 0 fmax(NaN,-1) = -1
参阅
(C++11) |
检查第一个浮点实参是否大于第二个 (函数) |
(C++11)(C++11)(C++11) |
两个浮点值的较小者 (函数) |
返回各给定值中的较大者 (函数模板) | |
返回范围内的最大元素 (函数模板) | |
(C++11) |
返回两个元素的较小和较大者 (函数模板) |
(C++11) |
返回范围内的最小元素和最大元素 (函数模板) |