次の方法で共有


lgammalgammaflgammal

指定した値のガンマ関数の絶対値の自然対数を決定します。

構文

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++ ヘッダー
lgammalgammaflgammal <math.h> <cmath>
lgamma マクロ <tgmath.h>

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

関連項目

関数リファレンス (アルファベット順)
tgammatgammaftgammal