Computes the Gamma function.

Namespace: Meta.Numerics.Functions
Assembly: Meta.Numerics (in Meta.Numerics.dll) Version: 2.2.0.0 (2.2.0.0)

# Syntax

 C# Visual Basic Visual C++ F#
```public static double Gamma(
double x
)```
```Public Shared Function Gamma (
x As Double
) As Double```
```public:
static double Gamma(
double x
)```
```static member Gamma :
x : float -> float
```

x
Double
The argument.

#### Return Value

Double
The value of Γ(x).

# Remarks

The Gamma function is a generalization of the factorial (see Factorial(Int32)) to arbitrary real values.

For positive integer arguments, this integral evaluates to Γ(n+1)=n!, but it can also be evaluated for non-integer z.

Because Γ(x) grows beyond the largest value that can be represented by a Double at quite moderate values of x, you may find it useful to work with the LogGamma(Double) method, which returns ln(Γ(x)).

To evaluate the Gamma function for a complex argument, use Gamma(Complex).

## Domain, Range, and Accuracy

The function is defined for all x. It has poles at all negative integers and at zero; the method returns NaN for these arguments. For positive arguments, the value of the function increases rapidly with increasing argument. For values of x greater than about 170, the value of the function exceeds MaxValue; for these arguments the method returns PositiveInfinity. The method is accurate to full precision over its entire domain.