Loading

NOM

       tgamma, tgammaf, tgammal - Véritables fonctions Gamma

SYNOPSIS

       #include <math.h>

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

       Effectuez l’édition des liens avec l’option -lm.

   Exigences  de  macros  de  test  de  fonctionnalités  pour  la  glibc (voir
   feature_test_macros(7)) :

       tgamma(), tgammaf(), tgammal() : _XOPEN_SOURCE >= 600 ||
       _ISOC99_SOURCE ; ou cc -std=c99

       La fonction Gamma est définie ainsi :

           Gamma(x) = intégrale de 0 à l’infini de t^(x-1) e^-t dt

       Elle est définie pour tout réel sauf les entiers négatifs ou nuls. Pour
       un entier positif m, on a

           Gamma(m+1) = m!

       et, plus généralement pour tout x :

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

       De plus, la relation ci-dessous est valable pour toute valeur de  x  en
       dehors des pôles :

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

VALEUR RENVOYÉE

       En cas de réussite, ces fonctions renvoient Gamma(x).

       Si x est un NaN, la valeur renvoyée et un NaN.

       Si  x  est une valeur infinie positive, une valeur positive infinie est
       renvoyée.

       Si x est un entier négatif ou l’infini négatif, une erreur  de  domaine
       est produite et un NaN est renvoyé.

       En  cas  de  dépassement  pour  le résultat, une erreur d’intervalle se
       produit et les fonctions renvoient HUGE_VAL,  HUGE_VALF  ou  HUGE_VALL,
       respectivement, avec le bon signe mathématique.

       En  cas  de  souspassement (« underflow ») pour le résultat, une erreur
       d’intervalle se produit et les fonctions renvoient 0, avec le bon signe
       mathématique.

       Si  x  vaut  -0  ou  +0, une erreur de pôle se produit et les fonctions
       renvoient HUGE_VAL, HUGE_VALF ou  HUGE_VALL,  respectivement,  avec  le
       même signe que le 0.

ERREURS

       Consultez  math_error(7)  pour  savoir comment déterminer qi une erreur
       est survenue lors de l’appel de ces fonctions.

       Les erreurs suivantes peuvent se produire :

       Erreur de domaine : x est un entier négatif ou l’infini négatif
              errno prend la valeur EDOM. Une exception de  virgule  flottante
              incorrecte  (FE_INVALID)  est  levée  (mais consultez la section
              BOGUES).

       Erreur de pôle : x vaut +0 ou -0
              errno prend la valeur ERANGE. Une exception de virgule flottante
              divide-by-zero ((FE_DIVBYZERO) est levée.

       Erreur d’intervalle : dépassement pour le résultat
              errno  est  configurée à ERANGE. Une exception de dépassement en
              virgule flottante (FE_OVERFLOW) est levée.

       La glibc donne également l’erreur suivante qui n’est pas spécifiée dans
       C99 ou POSIX.1-2001.

       Erreur d’intervalle : souspassement (« underflow ») du résultat
              Une    exception   en   virgule   flottante   de   souspassement
              (FE_UNDERFLOW) est levée.

              errno n’est pas modifiée dans ce cas.

VERSIONS

       Ces fonctions ont été introduites dans la glibc dans sa version 2.1.

CONFORMITÉ

       C99, POSIX.1-2001.

NOTES

       Cette fonction a  été  appelée  « true  gamma  function »  (« véritable
       fonction Gamma ») car il existe déjà une fonction gamma(3) qui retourne
       un autre résultat (voir gamma(3) pour des détails).

BOGUES

       Si x est l’infini  négatif,  errno  n’est  pas  touchée  (elle  devrait
       prendre la valeur EDOM).

       Dans  la  glibc  version  2.3.3  et  antérieures, un paramètre +0 ou -0
       produit à tord une erreur de domaine (errno prend la valeur EDOM et une
       exception FE_INVALID est levée), au lieu d’une erreur de pôle.

VOIR AUSSI

       gamma(3), lgamma(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite par Thierry  Vignaud  <tvignaud  AT
       mandriva  DOT  com>  en  2002,  puis a été mise à jour par Alain Portal
       <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à  disposition
       sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>    et    l’équipe   francophone   de
       traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».