tgamma(3)

NUME
tgamma, tgammaf, tgammal - funcția gamma adevărată

BIBLIOTECA
Biblioteca de matematică (libm, -lm)

SINOPSIS
#include <math.h>

double tgamma(double x);
float tgammaf(float x);
long double tgammal(long double x);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

tgamma(), tgammaf(), tgammal():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIERE
Aceste funcții calculează funcția Gamma pentru x.

Funcția Gamma este definită prin

    Gamma(x) = integrală de la 0 la infinit a t^(x-1) e^-t dt

Aceasta este definită pentru orice număr real, cu excepția numerelor întregi nepozitive. Pentru integrala ne-negativă m se are

    Gamma(m+1) = m!

și, mai general, pentru toate x:

    Gamma(x+1) = x * Gamma(x)

În plus, următoarea afirmație este valabilă pentru toate valorile lui x în afara polilor:

    Gamma(x) * Gamma(1 - x) = PI / sin(PI * x)

VALOAREA RETURNATĂ
În caz de succes, aceste funcții returnează Gamma(x).

Dacă x nu este un număr („Not a Number”: NaN), se returnează un NaN.

Dacă x este infinit pozitiv, se returnează infinit pozitiv.

Dacă x este un număr întreg negativ sau este infinit negativ, apare o eroare de domeniu și se returnează un NaN.

Dacă rezultatul depășește, apare o eroare de interval, iar funcțiile returnează HUGE_VAL, HUGE_VALF sau, respectiv, HUGE_VALL, cu semnul matematic corect.

În cazul în care rezultatul este mai mic, apare o eroare de gamă, iar funcțiile returnează 0, cu semnul matematic corect.

Dacă x este -0 sau +0, apare o eroare de polaritate, iar funcțiile returnează HUGE_VAL, HUGE_VALF sau HUGE_VALL, respectiv, cu același semn ca 0.

ERORI-IEȘIRE
Consultați math_error(7) pentru informații despre cum să determinați dacă a apărut o eroare la apelarea acestor funcții.

Pot apărea următoarele erori:

Eroare de domeniu: x este un număr întreg negativ, sau infinit negativ
    errno este configurată la EDOM. Este ridicată o excepție de virgulă mobilă nevalidă (FE_INVALID) (dar consultați secțiunea ERORI).

Eroare de polaritate: x este +0 sau -0
    errno este configurată la ERANGE. Se generează o excepție de împărțire la zero în virgulă mobilă (FE_DIVBYZERO).

Eroare de interval: depășire de rezultat
    errno este configurată la ERANGE. Se generează o excepție de depășire în virgulă mobilă (FE_OVERFLOW).

glibc dă și următoarea eroare care nu este specificată în C99 sau POSIX.1-2001.

Eroare de interval: rezultat sub limită
    Se ridică o excepție în virgulă flotantă de rezultat sub limită (FE_UNDERFLOW), iar errno este configurată la ERANGE.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
tgamma(), tgammaf(), tgammal() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

ISTORIC
glibc 2.1. C99, POSIX.1-2001.

NOTE
Această funcție a trebuit să se numească „funcția gamma adevărată”, deoarece există deja o funcție gamma(3) care returnează altceva (a se vedea gamma(3) pentru detalii).

ERORI
Înainte de glibc 2.18, implementarea glibc a acestor funcții nu configura errno la EDOM atunci când x este infinit negativ.

Înainte de glibc 2.19, implementarea glibc a acestor funcții nu configura errno la ERANGE în cazul unei erori de interval sub limită.

În versiunile glibc 2.3.3 și anterioare, un argument +0 sau -0 producea incorect o eroare de domeniu (errno configurată la EDOM și o excepție FE_INVALID ridicată), mai degrabă decât o eroare de polaritate.

CONSULTAȚI ȘI
gamma(3), lgamma(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.