fmin
、 fminf
、 fminl
指定された 2 つの値のうち、小さい方を特定します。
構文
double fmin(
double x,
double y
);
float fmin(
float x,
float y
); //C++ only
long double fmin(
long double x,
long double y
); //C++ only
float fminf(
float x,
float y
);
long double fminl(
long double x,
long double y
);
#define fmin(x) // Requires C11 or higher
パラメーター
x
比較する最初の値。
y
比較する二番目の値。
戻り値
正常に終了した場合は x
または y
の小さい方を返します。
入力 | 結果 |
---|---|
x は NaN |
y |
y は NaN |
x |
x と y は NaN |
NaN |
この関数では、 _matherr
が呼び出されたり、浮動小数点例外が発生したり、 errno
の値が変更されたりすることはありません。
解説
C++ ではオーバーロードが可能であるため、fmin
型および float
型を受け取って返す long double
のオーバーロードを呼び出すことができます。 C プログラムでは、<tgmath.h> マクロを使用してこの関数を呼び出す場合を除き、fmin
では常に double
を受け取って返します。
<tgmath.h>fmin()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
fmin 、 fminf 、 fminl |
C: <math.h> C++: <math.h> または <cmath> |
fmin マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。