.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" Distributed under GPL
.\" %%%LICENSE_END
.\"
.\" Based on glibc infopages
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\" Modified 2004-11-15, fixed error noted by Fabian Kreutz
.\"	 <kreutz@dbs.uni-hannover.de>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\" This file is distributed under the same license as original manpage
.\" Copyright of the original manpage:
.\" Copyright © 2002 Walter Harms (GPL-1)
.\" Copyright © of Polish translation:
.\" Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, 2001.
.\" Robert Luberda <robert@debian.org>, 2013, 2017.
.\" Michał Kułach <michal.kulach@gmail.com>, 2016.
.TH TGAMMA 3 2016\-03\-15 GNU "Podręcznik programisty Linuksa"
.SH NAZWA
tgamma, tgammaf, tgammal \- prawdziwa funkcja gamma
.SH SKŁADNIA
\fB#include <math.h>\fP
.sp
\fBdouble tgamma(double \fP\fIx\fP\fB);\fP
.br
\fBfloat tgammaf(float \fP\fIx\fP\fB);\fP
.br
\fBlong double tgammal(long double \fP\fIx\fP\fB);\fP
.sp
Proszę linkować z \fI\-lm\fP.
.sp
.in -4n
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.in
.sp
.ad l
\fBtgamma\fP(), \fBtgammaf\fP(), \fBtgammal\fP():
.RS 4
_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
.RE
.ad
.SH OPIS
Funkcje te obliczają funkcję gamma dla \fIx\fP.

Funkcja gamma jest definiowana jako:
.sp
    Gamma(x) = całka od 0 do nieskończoności z t^(x\-1) e^\-t dt
.sp
Jest zdefiniowana dla każdej liczby rzeczywistej z wyjątkiem niedodatnich
liczb całkowitych. Dla nieujemnej liczby całkowitej zachodzi:
.sp
    Gamma(m+1) = m!
.sp
i ogólnie dla wszystkich \fIx\fP:
.sp
    Gamma(x+1) = x * Gamma(x)
.sp
Co więcej dla wszystkich poprawnych wartości \fIx\fP poza biegunem:
.sp
    Gamma(x) * Gamma(1 \- x) = PI / sin(PI * x)
.PP
.SH "WARTOŚĆ ZWRACANA"
Funkcje te, gdy się zakończą pomyślnie, zwracają Gamma(x).

Jeśli \fIx\fP wynosi NaN, to zwracane jest NaN.

Jeśli \fIx\fP jest równe dodatniej nieskończoności, to zwracana jest dodatnia
nieskończoność.

Jeśli \fIx\fP jest ujemną liczbą całkowitą lub ujemną nieskończonością, to
występuje błąd dziedziny i zwracane jest NaN.

Jeśli wartość wynikowa jest zbyt duża, to występuje błąd przekroczenia
zakresu i funkcje odpowiednio zwracają \fBHUGE_VAL\fP, \fBHUGE_VALF\fP lub
\fBHUGE_VALL\fP z poprawnie ustawionym znakiem (dodatnim lub ujemnym).

Jeśli wartość wynikowa jest zbyt mała, występuje błąd przekroczenia zakresu
i funkcje zwracają 0 z matematycznie poprawnym znakiem (dodatnim lub
ujemnym).

Jeśli \fIx\fP jest równe \-0 lub +0, występuje błąd bieguna i funkcje
odpowiednio zwracają \fBHUGE_VAL\fP, \fBHUGE_VALF\fP lub \fBHUGE_VALL\fP z takim
samym znakiem, jak znak przed 0.
.SH BŁĘDY
Informacje o tym, jak określić, czy wystąpił błąd podczas wywołania tych
funkcji, można znaleźć w podręczniku \fBmath_error\fP(7).
.PP
Mogą wystąpić następujące błędy:
.TP 
Błąd dziedziny: \fIx\fP jest ujemną liczbą całkowitą lub ujemną nieskończonością
\fIerrno\fP jest ustawiane na \fBEDOM\fP. Rzucany jest wyjątek niepoprawnej
operacji zmiennoprzecinkowej (\fBFE_INVALID\fP) (patrz także BŁĘDY
IMPLEMENTACJI).
.TP 
Błąd bieguna: \fIx\fP jest równe +0 lub \-0
\fIerrno\fP jest ustawiane na \fBERANGE\fP. Rzucany jest wyjątek
zmiennoprzecinkowego dzielenia przez zero (\fBFE_DIVBYZERO\fP).
.TP 
Błąd zakresu: przekroczenie w górę wartości wynikowej
\fIerrno\fP jest ustawiane na \fBERANGE\fP. Rzucany jest wyjątek przekroczenia
zakresu operacji zmiennoprzecinkowej (\fBFE_OVERFLOW\fP).
.PP
glibc także może zwrócić następujący błąd niewymieniony w C99 ani w
POSIX.1\-2001.
.TP 
Błąd zakresu: przekroczenie w dół wartości wynikowej
.\" e.g., tgamma(-172.5) on glibc 2.8/x86-32
.\" .I errno
.\" is set to
.\" .BR ERANGE .
Rzucany jest wyjątek przekroczenia w dół zakresu operacji
zmiennoprzecinkowej (\fBFE_UNDERFLOW\fP).
.IP
.\" FIXME . Is it intentional that errno is not set:
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6810
.\"
.\" glibc (as at 2.8) also supports and an inexact
.\" exception for various cases.
\fIerrno\fP nie jest ustawione w tym przypadku.
.SH WERSJE
Funkcje te pojawiły się po raz pierwszy w wersji 2.1 biblioteki glibc.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbw30 lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
\fBtgamma\fP(),
\fBtgammaf\fP(),
\fBtgammal\fP()
T}	Bezpieczeństwo wątkowe	MT\-Safe
.TE
.SH "ZGODNE Z"
C99, POSIX.1\-2001, POSIX.1\-2008.
.SH UWAGI
Nazwa funkcji musi brzmieć "prawdziwa funkcja gamma", gdyż istnieje już
funkcja \fBgamma\fP(3) zwracająca co innego (szczegóły opisano w \fBgamma\fP(3)).
.SH "BŁĘDY IMPLEMENTACJI"
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6809
Implementacja tych funkcji w wersjach wcześniejszych niż 2.18 biblioteki
glibc nie ustawiała \fIerrno\fP na \fBEDOM\fP, gdy \fIx\fP było
ujemną\ nieskończonością.

W wersji 2.3.3 i wcześniejszych biblioteki glibc, argument +0 lub \-0
niepoprawnie powodował błąd dziedziny (\fIerrno\fP ustawione na \fBEDOM\fP i
wyrzucony wyjątek \fBFE_INVALID\fP) zamiast błędu bieguna.
.SH "ZOBACZ TAKŻE"
\fBgamma\fP(3), \fBlgamma\fP(3)
.SH "O STRONIE"
Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux
\fIman\-pages\fP. Opis projektu, informacje dotyczące zgłaszania błędów oraz
najnowszą wersję oryginału można znaleźć pod adresem
\%https://www.kernel.org/doc/man\-pages/.
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są:
Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>,
Robert Luberda <robert@debian.org>
i
Michał Kułach <michal.kulach@gmail.com>.
.PP
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją \fB 4.07 \fPoryginału.
