#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;
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
lgamma():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE
|| /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* Versions de la glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE
lgammaf(), lgammal() :
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE
lgamma_r(), lgammaf_r(), lgammal_r() :
/* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE
signgam :
_XOPEN_SOURCE
/* Depuis la glibc 2.18 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE
Les fonctions lgamma(), lgammaf() et lgammal() 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 multithread, les fonctions lgamma_r(), lgammaf_r() et lgammal_r() ont été introduites, elles renvoient le signe dans le paramètre signp.
Si x n’est pas un nombre, un NaN est renvoyé.
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, resp. avec le bon signe mathématique.
Les erreurs suivantes peuvent se produire :
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à