Namespaces
Variants
Views
Actions

std::lgamma

From cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
Common mathematical functions
Functions
Basic operations
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Exponential functions
(C++11)
(C++11)
(C++11)
(C++11)
Power functions
(C++11)
(C++11)
Trigonometric and hyperbolic functions
(C++11)
(C++11)
(C++11)
Error and gamma functions
(C++11)
(C++11)
lgamma
(C++11)
(C++11)
Nearest integer floating point operations
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Floating point manipulation functions
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
Classification/Comparison
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Macro constants
(C++11)(C++11)(C++11)(C++11)(C++11)
 
Defined in header <cmath>
float       lgamma( float arg );
(since C++11)
double      lgamma( double arg );
(since C++11)
long double lgamma( long double arg );
(since C++11)
double      lgamma( Integral arg );
(since C++11)

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

Contents

[edit] Parameters

arg - value of a floating-point or Integral type

[edit] Return value

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

If arg is a natural number, std::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

(C++11)
gamma function
(function) [edit]
C documentation for lgamma

[edit] External links

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