Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       gamma, gammaf, gammal - ガンマ関数 (の自然対数)

書式

       #include <math.h>

       double gamma(double x);
       float gammaf(float x);
       long double gammal(long double x);

       -lm でリンクする。

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       gamma():
           _XOPEN_SOURCE
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
       gammaf(), gammal():
           _XOPEN_SOURCE >= 600 || (_XOPEN_SOURCE && _ISOC99_SOURCE)
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

説明

       これらの関数は非推奨である。その代わり、場面に応じて tgamma(3)  か lgamma(3)  を使うこと。

       ガンマ関数の定義については、 tgamma(3)  を参照のこと。

   *BSD版
       4.4BSD  の libm と FreeBSD のいくつかのバージョンには、関数 gamma() が含まれており、期待通
       りガンマ関数を計算できる。

   glibc版
       Glibcは、関数 gamma()  を含んでいるが、これは lgamma(3)   と等価であり、ガンマ関数の自然対
       数を計算する。

返り値

       lgamma(3)  を参照。

エラー

       lgamma(3)  を参照。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌────────────────────────────┬───────────────┬────────────────────────┐
       │インターフェース属性                     │
       ├────────────────────────────┼───────────────┼────────────────────────┤
       │gamma(), gammaf(), gammal() │ Thread safety │ MT-Unsafe race:signgam │
       └────────────────────────────┴───────────────┴────────────────────────┘

準拠

       システムによって振舞いが異なるという歴史的な経緯のため、この関数は最近のどの標準規格でも規
       定されていない。 SVID 2 には記載されていた。

注意

   歴史
       4.2BSDにおいては、関数 gamma()  が実際に計算するのは ln(|Gamma(|x|)|)  であり、 Gamma(|x|)
       の符号が  extern int signgam に格納されていた。 4.3BSDになって関数名が変更され、 lgamma(3)
       となり、そのマニュアルページでは

           "「いつの日か gamma の名は復活し、ガンマ関数に冠されるであろう」"

       という誓いが述べられていた。 これは4.4BSDになって実現され、 gamma()   はまさにガンマ関数を
       計算するようになった。 (もう signgam には作用しない。)  ところが、これが登場する時期が遅す
       ぎたため、 tgamma(3) という「本当のガンマ関数」がすでに存在しているのである。

関連項目

       lgamma(3), signgam(3), tgamma(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。