fmax, fmaxf, fmaxl

指定された 2 つの数値のうち、大きい方を特定します。

構文

double fmax(
   double x,
   double y
);

float fmax(
   float x,
   float y
); //C++ only

long double fmax(
   long double x,
   long double y
); //C++ only

float fmaxf(
   float x,
   float y
);

long double fmaxl(
   long double x,
   long double y
);

#define fmax(X, Y) // Requires C11 or higher

パラメーター

x
比較する最初の値。

y
比較する二番目の値。

戻り値

正常に終了した場合は x または y の大きい方を返します。 返される値は正確であり、どの形式の丸めにも依存しません。

それ以外の場合は、次の値のいずれかを返します。

問題 Return
x = NaN y
y = NaN x
x および y = NaN NaN

この関数では、次で指定した _matherrエラーは使用されません。

解説

C++ ではオーバーロードが可能であるため、float 型と long double 型を受け取って返す fmax のオーバーロードを呼び出すことができます。 C プログラムでは、<tgmath.h> マクロを使用してこの関数を呼び出す場合を除き、fmax では常に double を受け取って返します。

<tgmath.h>fmax() マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。

必要条件

機能 C ヘッダー C++ ヘッダー
fmax, fmaxf, fmaxl <math.h> <cmath> または <math.h>
fmax マクロ <tgmath.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

アルファベット順関数リファレンス
fmin, fminf, fminl