kazmax - Linux で自宅サーバー

gamma - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 履歴
  5. 準拠
  6. 関連項目

名前

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)