gamma(3m)
NAME
gamma − log gamma function
SYNTAX
#include <math.h>
double gamma(x)
double x;
extern int signgam;
DESCRIPTION
The gamma function returns ln |Γ(|x|)|. The sign of Γ(|x|) is returned in the external integer signgam.
The following C program fragment might be used to calculate Γ:
if ((y = gamma(x)) > LN_MAXDOUBLE)
error( );
y = signgam * exp(y);
where LN_MAXDOUBLE is the least value that causes exp(3m) to return a range error, and is defined in the <values.h> header file.
DIAGNOSTICS
For non-negative integer arguments, HUGE is returned, and the global variable errno is set to EDOM. A message indicating SING error is printed on the standard error output.
If the correct value would overflow, gamma returns HUGE and sets the global variable errno to ERANGE.
These error-handling procedures may be changed with the function matherr(3m).