fmin, fminf, fminl

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
fmin
(C99)
(C99)
(C99)(C99)(C99)
指数函数
(C99)
(C99)
(C99)
(C99)
幂函数
(C99)
(C99)
三角及双曲函数
(C99)
(C99)
(C99)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
临近整数的浮点运算
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮点数操作函数
(C99)(C99)
(C99)
(C99)
分类
(C99)
(C99)
(C99)
类型
(C99)(C99)
宏常量
 
定义于头文件 <math.h>
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) 返回二个浮点参数的较小者,把 NaNs 当做缺失数据(在 NaN 和数值间选择数值)。
4) 泛型宏:若任一参数拥有 long double 类型,则调用 fmaxl 。否则,若任一参数拥有整数类型或 double 类型,则调用 fmax 。否则调用 fmaxf

参数

x, y - 浮点值

返回值

若成功,则返回二个浮点值的较小者。返回值准确且不依赖任何舍入模式。

错误处理

此函数不受制于任何指定于 math_errhandling 的错误条件。

若实现支持 IEEE 浮点算术( IEC 60559 ),则

  • 若二个参数之一为 NaN ,则返回另一参数的值
  • 仅若二个参数均为 NaN ,才返回 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 standard (ISO/IEC 9899:2011):
  • 7.12.12.3 The fmin functions (p: 258)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.9.3 The fmin functions (p: 530)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.12.3 The fmin functions (p: 239)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.9.3 The fmin functions (p: 466)

参阅

(C99)
检查第一个浮点参数是否小于第二个
(函数)
(C99)(C99)(C99)
确定两个浮点值的较大者
(函数)