lgamma
, lgammaf
, lgammal
Belirtilen değerin gama işlevinin mutlak değerinin doğal logaritması belirler.
Sözdizimi
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
Parametreler
x
İşlem için değer.
Dönüş değeri
Başarılı olursa, gama işlevinin x
mutlak değerinin doğal logaritması döndürür.
Sorun | İade |
---|---|
x = NaN |
NaN |
x = ±0 |
+INFINITY |
x = negatif tamsayı |
+INFINITY |
±FINITY | +INFINITY |
kutup hatası | +HUGE_VAL , +HUGE_VALF , veya +HUGE_VALL |
taşma aralığı hatası | HUGE_VAL ±, ±HUGE_VALF veya ±HUGE_VALL |
Hatalar içinde _matherr
belirtildiği gibi bildirilir.
Açıklamalar
C++ aşırı yüklemeye izin verdiğinden, bu alma ve dönüş float
ile long double
türlerinin lgamma
aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h makrosunu <kullanmıyorsanız, lgamma
her zaman bir double
alır ve döndürür.>
tgmath.h>lgamma()
makroyu <kullanırsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .
x rasyonel bir sayıysa, bu işlev (x - 1) faktöriyelinin logaritması döndürür.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
İşlev | C üst bilgisi | C++ üst bilgisi |
---|---|---|
lgamma , lgammaf , lgammal |
<math.h> | <cmath> |
lgamma Makro |
<tgmath.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.