The Schworak Site | Log In | Up One Level
### 3. Library calls (functions within program libraries)

# GAMMA

Section: Linux Programmer's Manual (3)

Updated: 2015-03-02

Index | Return to Main Contents

## NAME

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

**#include <math.h>**
**gammaf**(),
**gammal**():
## DESCRIPTION

These functions are deprecated: instead, use either the
**tgamma**(3)
or the
**lgamma**(3)
functions, as appropriate.
### *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).

## 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
## 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
http://www.kernel.org/doc/man-pages/.

## Index

Return to Main Contents

Updated: 2015-03-02

Index | Return to Main Contents

**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

- _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600

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

Interface | Attribute | Value |

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

"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.

Return to Main Contents

All content on this site is copyright ©2004-2019 and is not to be reproduced without prior permission.