# GAMMA

## 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***);**

Link with *−lm*.

Feature Test Macro Requirements for glibc (see **feature_test_macros(7)**):

**gamma**():

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE

**gammaf**(), **gammal**():

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600

## DESCRIPTION

These functions are deprecated: instead, use either the **tgamma(3)** or the **lgamma(3)** functions, as appropriate.

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

***BSD version**

The libm in 4.4BSD and some versions of FreeBSD had a **gamma**() function that computes the Gamma function, as one would expect.

**glibc version**

Glibc has a **gamma**() function that is equivalent to **lgamma(3)** and computes the natural logarithm of the Gamma function.

## RETURN VALUE

See **lgamma(3)**.

## ERRORS

See **lgamma(3)**.

## CONFORMING TO

Because of historical variations in behavior across systems, this function is not specified in any standard.

## NOTES

**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(3)**, 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(3)**, the "true gamma" function.

## SEE ALSO

**lgamma(3)**, **signgam(3)**, **tgamma(3)**

## COLOPHON

This page is part of release 3.54 of the Linux *man-pages* project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man−pages/.