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