fmin, fminf, fminl
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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) 2つの浮動小数点引数の小さい方を返します。 NaN は存在しないデータとみなされます (NaN と数値の間では、数値が選ばれます)。
4) 型総称マクロ。 いずれかの引数が
long double 型であれば fminl が呼ばれます。 そうでなく、いずれかの引数が整数型または double 型であれば、 fmin が呼ばれます。 そうでなければ、 fminf が呼ばれます。引数
| x, y | - | 浮動小数点値 |
戻り値
成功した場合、2つの浮動小数点値の小さい方を返します。 返される値は正確であり、いかなる丸めモードにも依存しません。
エラー処理
この関数は math_errhandling で規定されているいかなるエラー状況の対象でもありません。
処理系が IEEE 浮動小数点算術 (IEC 60559) をサポートしている場合、
- 2つの引数の片方が NaN であれば、他方の引数が返されます。
- どちらの引数も NaN であれば、 NaN が返されます。
ノート
この関数はゼロの符号に敏感であることは要求されていませんが、処理系によっては片方の引数が +0 で他方が -0 であれば -0 が返されることを追加で強制しています。
例
Run this code
#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) |
第1引数の浮動小数点が第2引数より小さいかどうか調べます (関数マクロ) |
(C99)(C99)(C99) |
2つの浮動小数点の大きい方を判定します (関数) |
fmin の C++リファレンス
| |