C
数值 | Numerics

fmin

fmin, fminf, fminl

在头文件中定义
float fminf( float x, float y (1)(自C99)
double fmin( double x, double 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 ++文档 |