LGAMMA(3) FreeBSD ライブラリ関数マニュアル LGAMMA(3)
名称
lgamma, lgammaf, gamma, gammaf − ガンマ関数およびガンマ関数の対数計算 |
ライブラリ
数値計算ライブラリ (libm, −lm) |
書式
#include <math.h> extern int signgam; double |
lgamma(double x); float |
lgammaf(float x); double |
gamma(double x); float |
gammaf(float x); |
解説 |
lgamma(x) および lgammaf(x) は x のガンマ関数の自然対数を返します。 外部変数 signgam には x のガンマ関数の符号が返されます。 gamma(x) および gammaf(x) では signgam は使用されません。 |
特記事項
g := Γ(x) の計算において ‘‘signam∗exp(lgamma(x))’’ のような記述は不適切で す。以下のような (C 言語) プログラムコーディングにします。 lg = lgamma(x); g = signam∗exp(lg); signgam は、 lgamma() あるいは lgammaf() の処理が完了した段階でないと正し い値を得ることができません。 引数の値域については、 gamma() および gammaf() のものが優先されます。正値 引数の場合は全ての計算要素まで正確に計算されます。 lgamma() のベキ指数の 有効サイズは 2 の 10 乗までです。 |
戻り値
gamma(), gammaf(), lgamma(), および lgammaf() は引数の値が適正な範囲であ れば正しい結果を返します。制限を越えた大きな桁の正整数値や負符号の整数値 を指定すると桁あふれエラーとなります。 VAX では、予約語のオペレータが返さ れ、負の大きな非整数値に関しては gamma() 関数でアンダフローエラーが発生 し、 errno に ERANGE がセットされます。 |
関連項目
歴史
lgamma は 4.3BSD に実装された関数です。 gamma は 4.4BSD に実装された関数 です。 gamma() の名称は関数名 lgamma() の元になっていますが、旧いコードの 部分では互換性が失われている場合もあります。 FreeBSD 10.0 December 3, 1992 FreeBSD 10.0 |