NOM
lgamma, lgammaf, lgammal, lgamma_r, lgammaf_r, lgammal_r, signgam -
Logarithme de la fonction gamma
SYNOPSIS
#include <math.h>
double lgamma(double x);
float lgammaf(float x);
long double lgammal(long double x);
double lgamma_r(double x, int *signp);
float lgammaf_r(float x, int *signp);
long double lgammal_r(long double x, int *signp);
extern int signgam;
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)) :
lgamma() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE ||
_ISOC99_SOURCE ; ou cc -std=c99
lgammaf(), lgammal() : _BSD_SOURCE || _SVID_SOURCE ||
_XOPEN_SOURCE>= 600 || _ISOC99_SOURCE ; ou cc -std=c99
lgamma_r(), lgammaf_r(), lgammal_r() : _BSD_SOURCE || _SVID_SOURCE
signgam : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
Pour la définition de la fonction Gamma, voir tgamma(3).
La fonction lgamma() renvoie le logarithme népérien (ou naturel) de la
valeur absolue de la fonction Gamma. Le signe de la fonction Gamma est
stocké dans la variable entière externe signgam déclaré dans <math.h>.
Il vaut 1 si la fonction Gamma est positive ou nulle, -1 si elle est
négative.
Comme l’utilisation de la variable statique signgam n’est pas sûre en
multi-threads, les fonctions lgamma_r() etc. ont été introduites, elles
renvoient le signe dans le paramètre signp.
VALEUR RENVOYÉE
En cas de réussite, ces fonctions renvoient le logarithme népérien (ou
logarithme naturel) de Gamma(x).
Si x est un NaN, la valeur renvoyée et un NaN.
Si x vaut 1 ou 2, +0 est renvoyé.
Si x est une valeur infinie positive ou négative, une valeur infinie
positive est renvoyée.
Si x est un nombre entier non-positif, une erreur de pôle se produit et
les fonctions renvoient +HUGE_VAL, +HUGE_VALF ou +HUGE_VALL,
respectivement.
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.
ERREURS
Consultez math_error(7) pour savoir comment déterminer qu’ une erreur
est survenue lors de l’appel de ces fonctions.
Les erreurs suivantes peuvent se produire :
Erreur de pôle : x est un nombre entier non-positif
errno est configuré à la valeur ERANGE (mais consultez la
section BOGUES). Une exception de virgule flottante
divide-by-zero (FE_DIVBYZERO).
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.
CONFORMITÉ
Les fonctions lgamma() sont spécifiées dans C99 et POSIX.1-2001.
signgam est spécifiée dans POSIX.1-2001, mais pas dans C99. Les
fonctions lgamma_r() ne sont pas standardisées mais elles sont
présentes sur de nombreux systèmes.
BOGUES
Pour une erreur de pôle, errno est configuré à la valeur EDOM ; POSIX.1
indique qu’elle devrait être configurée à ERANGE.
VOIR AUSSI
tgamma(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 et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis 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 Florentin Duneau <fduneau@gmail.com> 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> ».
5 août 2008