TGAMMA

Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index JM Home Page roff page
 

名前

tgamma, tgammaf, tgammal - 本当のガンマ関数  

書式

#include <math.h>

double tgamma(double x);
float tgammaf(float x);
long double tgammal(long double x);

-lm でリンクする。

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

tgamma(), tgammaf(), tgammal(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99  

説明

ガンマ関数は以下のように定義される:


 Gamma(x) = t^(x-1) e^-t dt の 0 から無限大までの積分

この関数は正でない整数を除くすべての実数に対して定義されている。 非負の整数 m に関して、以下が成立する:


 Gamma(m+1) = m!

より一般的には、すべての x に関して以下が成立する:


 Gamma(x+1) = x * Gamma(x)

さらに、極を除くすべての x で次式も成立する:


 Gamma(x) * Gamma(1 - x) = PI / sin(PI * x)

この関数は、引き数 x に対するガンマ関数の値を返す。 この関数は「本当の (true) ガンマ関数」と呼ばれる。 なぜなら、 gamma(3) という関数がすでに存在し、他の値を返すからである。  

エラー

エラーをチェックするためには、これらの関数を呼び出す前に errno を 0 にセットし、 feclearexcept(FE_ALL_EXCEPT) を呼べばよい。 関数実行後に、 errno が 0 以外か、 fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) が 0 以外ならば、エラーが発生したことが分かる。

x が大きすぎる場合、range error が発生する。 x が 0 である場合、pole error が発生する。 x が負の整数の場合には domain error (もしくは pole error) が発生する。  

準拠

C99.  

関連項目

gamma(3), lgamma(3)


 

Index

名前
書式
説明
エラー
準拠
関連項目

This document was created by man2html, using the manual pages.
Time: 04:32:08 GMT, November 19, 2007