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