### gamma (3)

#### Leading comments

Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) %%%LICENSE_START(GPL_NOVERSION_ONELINE) Distributed under GPL %%%LICENSE_END Modified 2003-11-18, aeb: historical remarks

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

#### ATTRIBUTES

For an explanation of the terms used in this section, see**attributes(7)**.

Interface | Attribute | Value |

gamma(),
gammaf(),
gammal()
| Thread safety | MT-Unsafe race:signgam |

#### 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 4.04 of the Linux*man-pages*project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at www.kernel.org/doc/man-pages