Namespaces
Variants
Views
Actions

std::tgamma

From cppreference.com
 
 
 
Common mathematical functions
Functions
Basic operations
remainder(C++11)
remquo(C++11)
fma(C++11)
fmax(C++11)
fmin(C++11)
fdim(C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
Exponential functions
exp
exp2(C++11)
expm1(C++11)
log
log10
log1p(C++11)
log2(C++11)
Power functions
sqrt
cbrt(C++11)
hypot(C++11)
pow
Trigonometric and hyperbolic functions
sinh
cosh
tanh
asinh(C++11)
acosh(C++11)
atanh(C++11)
Error and gamma functions
erf(C++11)
erfc(C++11)
lgamma(C++11)
tgamma(C++11)
Nearest integer floating point operations
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc(C++11)
nearbyint(C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
Floating point manipulation functions
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb(C++11)
logb(C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign(C++11)
Classification
fpclassify(C++11)
isfinite(C++11)
isinf(C++11)
isnan(C++11)
isnormal(C++11)
signbit(C++11)
Macro constants
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
FLT_EVAL_METHOD(C++11)
 
Defined in header <cmath>
float       tgamma( float arg );
(since C++11)
double      tgamma( double arg );
(since C++11)
long double tgamma( long double arg );
(since C++11)
double      tgamma( Integral arg );
(since C++11)

Computes the gamma function of arg.

Contents

[edit] Parameters

arg - floating point value

[edit] Return value

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

If arg is a natural number, std::tgamma(arg) is the factorial of arg-1.

[edit] Exceptions

If arg is negative, domain error may occur and FE_INVALID may be raised.

If arg is zero, pole error may occur and FE_DIVBYZERO may be raised.

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

If arg is too small, range error may occur and FE_UNDERFLOW may be raised.

[edit] Notes

Many implementations calculate the exact integer-domain factorial if the argument is a sufficiently small integer.

[edit] Example

#include <iostream>
#include <cmath>
double factorial(double arg)
{
    return std::tgamma(arg + 1);
}
int main()
{
    std::cout << "The factorial of 5 is " << factorial(5) << '\n'
              << "The factorial of 100 is " << factorial(100) << '\n';
}

Output:

The factorial of 5 is 120
The factorial of 100 is 9.33262e+157


[edit] See also

(C++11)
natural logarithm of the gamma function
(function) [edit]

[edit] External links

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