gamma - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
gamma, gammaf, gammal - ガンマ関数(glibc版はその自然対数を返す)
書式
#include <math.h>
double gamma(double
x
);
float gammaf(float
x
);
long double gammal(long double
x
);
リンク時はオプション -lm を使用すること。
説明
ガンマ関数の定義については、 tgamma (3) を参照のこと。
*BSD版
4.4BSDとFreeBSDのlibmは、関数 gamma ()を含んでおり、期待通りガンマ関数を計算する。
glibc版
Glibcは、関数 gamma ()を含んでいるが、これは lgamma ()と等価であり、ガンマ関数の自然対数を計算する。 (これは過去の実装との互換性のために存在するものであり、 この関数を使ってはならない。)
履歴
4.2BSDにおいては、関数
gamma
()が実際に計算するのは
ln(|Gamma(|
x
|)|)であり、
Gamma(|
x
|)の符号が extern int signgam
に格納されていた。
4.3BSDになって関数名が変更され、
lgamma
()となり、そのマニュアルページでは
「いつの日かgammaの名は復活し、ガンマ関数に冠されるであろう」
という誓いが述べられていた。
これは4.4BSDになって実現され、
gamma
()はまさにガンマ関数を計算するようになった。
(もう signgam
には作用しない。)
ところが、これが登場する時期が遅すぎたため、
tgamma
()という「本当のガンマ関数」がすでに存在するのである。
準拠
4.2BSD. 過去の間違った実装との互換性のために存在する。
関連項目
lgamma
(3),
signgam
(3),
tgamma
(3)