lgamma, lgammaf, lgamma_r, lgammaf_r, gamma, gammaf, gamma_r, gammaf_r -
log gamma function
Math Library (libm, -lm)
#include <math.h>
extern int signgam;
double
lgamma(double x);
float
lgammaf(float x);
double
lgamma_r(double x, int *sign);
float
lgammaf_r(float x, int *sign);
double
gamma(double x);
float
gammaf(float x);
double
gamma_r(double x, int *sign);
float
gammaf_r(float x, int *sign);
DESCRIPTION _
lgamma(x) returns ln|| (x)|.
_
The external integer signgam returns the sign of | (x).
lgamma_r() is a reentrant interface that _erforms identically to
lgamma(), differing in that the sign of | (x) is stored in the location
pointed to by the sign argument and signgam is not modified.
D_ not use the expression ``signgam*exp(lgamma(x))'' to compute g :=
| (x). Instead use a program like this (in C):
lg = lgamma(x); g = signgam*exp(lg);
Only after lgamma() has returned can signgam be correct.
lgamma() returns appropriate values unless an argument is out of range.
Overflow will occur for sufficiently large positive values, and non-positive
integers. On the VAX, the reserved operator is returned, and errno
is set to ERANGE.
math(3)
The lgamma function appeared in 4.3BSD.
BSD December 3, 1992 BSD
[ Back ] |