スポンサーリンク

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 がセットされます。

関連項目

math(3)

歴史

lgamma は 4.3BSD に実装された関数です。 gamma は 4.4BSD に実装された関数 です。 gamma() の名称は関数名 lgamma() の元になっていますが、旧いコードの 部分では互換性が失われている場合もあります。

FreeBSD 10.0 December 3, 1992 FreeBSD 10.0

スポンサーリンク