Provided by:

manpages-dev_3.35-0.1ubuntu1_all **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.35 of the Linux __man-pages__ project. A
description of the project, and information about reporting bugs, can
be found at http://man7.org/linux/man-pages/.