名前空間
変種
操作

fmax, fmaxf, fmaxl

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
fmax
(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)(C99)
マクロ定数
 
ヘッダ <math.h> で定義
float       fmaxf( float x, float y );
(1) (C99およびそれ以降)
double      fmax( double x, double y );
(2) (C99およびそれ以降)
long double fmaxl( long double x, long double y );
(3) (C99およびそれ以降)
ヘッダ <tgmath.h> で定義
#define fmax( x, y )
(4) (C99およびそれ以降)
1-3) 2つの浮動小数点引数の大きい方を返します。 NaN は存在しないデータとみなされます (NaN と数値の間では、数値が選ばれます)。
4) 型総称マクロ。 いずれかの引数が long double の場合は fmaxl が呼ばれます。 そうでなく、いずれかの引数が整数型または double 型の場合は fmax が呼ばれます。 そうでなければ fmaxf が呼ばれます。

目次

[編集] 引数

x, y - 浮動小数点値

[編集] 戻り値

成功した場合、2つの浮動小数点値の大きいほうが返されます。 返される値は正確であり、いかなる丸めモードにも依存しません。

[編集] エラー処理

この関数は math_errhandling で規定されているいかなるエラー状況の対象でもありません。

処理系が IEEE 浮動小数点算術 (IEC 60559) をサポートしている場合、

  • 2つの引数の片方が NaN であれば、他方の引数が返されます。
  • どちらの引数も NaN であれば、 NaN が返されます。

[編集] ノート

この関数はゼロの符号に敏感であることは要求されていませんが、処理系によっては片方の引数が +0 で他方が -0 であれば +0 が返されることを追加で強制しています。

[編集]

#include <stdio.h>
#include <math.h>
 
int main(void)
{
    printf("fmax(2,1)    = %f\n", fmax(2,1));
    printf("fmax(-Inf,0) = %f\n", fmax(-INFINITY,0));
    printf("fmax(NaN,-1) = %f\n", fmax(NAN,-1));
}

出力:

fmax(2,1)    = 2.000000
fmax(-Inf,0) = 0.000000
fmax(NaN,-1) = -1.000000

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.12.2 The fmax functions (p: 257-258)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.9.2 The fmax functions (p: 530)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.12.2 The fmax functions (p: 238-239)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.9.2 The fmax functions (p: 466)

[編集] 関連項目

第1引数の浮動小数点が第2引数より大きいかどうか調べます
(関数) [edit]
(C99)(C99)(C99)
2つの浮動小数点の小さい方を判定します
(関数) [edit]