##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# lgamma

From cppreference.com
< c‎ | numeric‎ | math

Defined in header `<math.h>` |  |
float lgammaf( float arg ); |  | (since C99)
double lgamma( double arg ); |  | (since C99)
long double lgammal( long double arg ); |  | (since C99)

Computes the natural logarithm of the absolute value of the gamma function of `arg`.

### [edit] Parameters

arg | - | floating point value

### [edit] Return value

The value of the logarithm of the gamma function of `arg`, that is log
e|∫∞
0 t arg-1
e-t dt|.

If `arg` is a natural number, lgamma(arg) is the logarithm of the factorial of `arg-1`.

### [edit] Exceptions

If `arg` is zero or a negative integer, pole error may occur and FE_INVALID or FE_DIVBYZERO may be raised.

If `arg` is too large, range error may occur and FE_OVERFLOW may be raised.

### [edit] Notes

POSIX specification additionally requires that each execution of lgamma stores the sign of the gamma function of `arg` in the external variable `signgam`.

### [edit] See also

tgamma (C99) | gamma function (function) [edit]
C++ documentation for lgamma

### [edit] External links

Weisstein, Eric W. "Log Gamma Function." From MathWorld--A Wolfram Web Resource.

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/numeric/math/lgamma&oldid=62591"