gamma(3) Library Functions Manual gamma(3)

gamma, gammaf, gammal - funkcja gamma (a właściwie jej logarytm)

Biblioteka matematyczna (libm, -lm)

#include <math.h>
[[przestarzałe]] double gamma(double x);
[[przestarzałe]] float gammaf(float x);
[[przestarzałe]] long double gammal(long double x);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

gamma():

    _XOPEN_SOURCE
        || /* Od glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

gammaf(), gammal():

    _XOPEN_SOURCE >= 600 || (_XOPEN_SOURCE && _ISOC99_SOURCE)
        || /* Od glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

Funkcje te są przestarzałe, należy w zamian korzystać z funkcji, w zależności od potrzeb, tgamma(3) lub lgamma(3).

Definicję funkcji Gamma opisano w podręczniku tgamma(3).

Biblioteka libm w 4.4BSD i niektórych wersjach FreeBSD miała funkcję gamma(), która obliczała funkcję Gamma, tak jak można by się tego spodziewać.

glibc ma funkcję gamma(), która jest odpowiednikiem lgamma(3) i oblicza logarytm naturalny funkcji Gamma.

Zob. lgamma(3).

Zob. lgamma(3).

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
gamma(), gammaf(), gammal() Bezpieczeństwo wątkowe MT-niebezpieczne race:signgam

Brak.

SVID 2.

Ze względu na historyczne różnice w zachowaniu, w poszczególnych systemach, funkcja ta nie jest określona w żadnym współczesnym standardzie.

4.2BSD miało gamma(), która obliczała ln(|Gamma(|x|)|), pozostawiając znak Gamma(|x|) w zewnętrznej liczbie signgam. W 4.3BSD nazwę zmieniono na lgamma(3), a w podręczniku systemowym zarzekano się, że:


"W pewnym momencie nazwa gamma zostanie odzyskana i użyta dla funkcji Gamma"

Stało się tak istotnie w 4.4BSD, gdzie gamma() oblicza funkcję Gamma (bez wpływu na signgam). Jednakże stało się to zbyt późno, stąd mamy teraz funkcję tgamma(3) — „true gamma” („prawdziwą funkcję gamma”).

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

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.9.1