tgamma
、 tgammaf
、 tgammal
指定した値のガンマ関数を決定します。
構文
double tgamma(
double x
);
float tgammaf(
float x
);
long double tgammal(
long double x
);
#define tgamma(X) // Requires C11 or higher
float tgamma(
float x
); //C++ only
long double tgamma(
long double x
); //C++ only
パラメーター
x
ガンマを検索する値。
戻り値
正常に終了した場合は x
のガンマを返します。
x
の大きさがデータ型に対して大きすぎる場合や小さすぎる場合は、範囲エラーが発生することがあります。 ドメイン エラーまたは範囲エラーは、 x
< = 0 の場合に発生する可能性があります。
問題点 | Return |
---|---|
x = ±0 |
±INFINITY |
x = 負の整数 |
NaN |
x = -INFINITY |
NaN |
x = +INFINITY |
+INFINITY |
x = NaN |
NaN |
ドメイン エラー | NaN |
極エラー | ±HUGE_VAL 、±HUGE_VALF 、または±HUGE_VALL |
オーバーフロー範囲エラー | ±HUGE_VAL 、±HUGE_VALF 、または±HUGE_VALL |
アンダーフロー範囲エラー | 丸めた後の正確な値。 |
エラーは、_matherr
で指定されたとおりに報告されます。
解説
C++ ではオーバーロードが可能であるため、tgamma
型および float
型を受け取って返す long double
のオーバーロードを呼び出すことができます。 C プログラムでは、<tgmath.h> マクロを使用してこの関数を呼び出す場合を除き、tgamma
では常に double
を受け取って返します。
<tgmath.h>tgamma()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
x が自然数の場合、この関数は (x-1) の階乗を返します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
tgamma 、 tgammaf 、 tgammal |
<math.h> | <cmath> |
tgamma マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。