## gamma(3) -- Linux man page

## NAME

gamma, gammaf, gammal - (logarithm of the) gamma function## SYNOPSIS

**#include <math.h>**

**double gamma(double ***x***);**

**float gammaf(float ***x***);**

**long double gammal(long double ***x***);**

## DESCRIPTION

For the definition of the Gamma function, see**tgamma**(3).

### *BSD version

4.4BSD and FreeBSD libm have a**gamma()**function that computes the Gamma function, as one would expect.

### glibc version

Glibc has a**gamma()**function that is equivalent to

**lgamma()**and computes the natural logarithm of the Gamma function. (This is for compatibility reasons only. Don't use this function.)

## HISTORY

4.2BSD had a**gamma()**that computed ln(|Gamma(|

*x*|)|), leaving the sign of Gamma(|

*x*|) in the external integer

*signgam*. In 4.3BSD the name was changed to

**lgamma()**, and the man page promises

"At some time in the future the name gamma will be rehabilitated and used for the Gamma function"

This did indeed happen in 4.4BSD, where
**gamma()**
computes the Gamma function (with no effect on
*signgam*).
However, this came too late, and we now have
**tgamma()**,
the "true gamma" function.

## CONFORMING TO

4.2BSD. Compatible with previous mistakes.## SEE ALSO

**lgamma**(3),

**signgam**(3),

**tgamma**(3)