TGAMMA(3) | Linux Programmer's Manual | TGAMMA(3) |
名前
tgamma, tgammaf, tgammal -本当のガンマ関数書式
#include <math.h>glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or
cc -std=c99
説明
ガンマ関数は以下のように定義される:Gamma(x) = t^(x-1) e^-t dt の 0 から無限大までの積分
Gamma(m+1) = m!
Gamma(x+1) = x * Gamma(x)
Gamma(x) * Gamma(1 - x) = PI / sin(PI * x)
返り値
成功すると、これらの関数は Gamma(x) を返す。エラー
これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は math_error(7) を参照のこと。以下のエラーが発生する可能性がある。
- 領域エラー: x が負の整数か負の無限大
- errno に EDOM が設定される。不正 (invalid) 浮動小数点例外 ( FE_INVALID) が上がる (「バグ」の節を参照)。
- 極エラー (pole error): x が +0 か-0
- errno に ERANGE が設定される。 0 による除算 (divide-by-zero) 浮動小数点例外 ( FE_DIVBYZERO) が上がる。
- 範囲エラー (range error): 結果のオーバーフロー
- errno に ERANGE が設定される。オーバーフロー浮動小数点例外 ( FE_OVERFLOW) が上がる。
glibc では、C99 や POSIX.1-2001 で規定されていない以下のエラーも起こり得る。
- 範囲エラー (range error): 結果のアンダーフロー
- アンダーフロー浮動小数点例外 ( FE_UNDERFLOW) が上がる。
- この場合は errno は設定されない。
バージョン
これらの関数は glibc バージョン 2.1 で初めて登場した。準拠
C99, POSIX.1-2001.注意
この関数を「本当の (true) ガンマ関数」と呼ばなければならなかった。なぜなら、他の値を返す gamma(3) という関数がすでに存在するからである (詳細については gamma(3) を参照)。バグ
x が負の無限大の場合、 errno は設定されない ( EDOM が設定されるべきである)。関連項目
gamma(3), lgamma(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2010-09-20 | GNU |