---
name: "std::tr1::gamma_distribution"
section: "3"
platform: "linux"
package: "libstdc++6-4.2-doc"
version: "4.2.4-6"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/std::tr1::gamma_distribution"
---

# std::tr1::gamma\_distribution(3)

## NAME

std::tr1::gamma\_distribution -

## SYNOPSIS

## Detailed Description

### template\<typename \_RealType = double\> class std::tr1::gamma\_distribution\< \_RealType \>

The formula for the gamma probability mass function is $ p(x) = ac{1}{Gamma( lpha)} x^{ lpha - 1} e^{-x} $.

Definition at line 2285 of file random.

### Public Types

typedef \_RealType **input\_type**\
 typedef \_RealType **result\_type**\

### Public Member Functions

\_RealType **alpha** () const \
 **gamma\_distribution** (const result\_type &\_\_alpha\_val=result\_type(1))\
 template\<class \_UniformRandomNumberGenerator\> result\_type **operator()** (\_UniformRandomNumberGenerator &\_\_urng)\
 void **reset** ()\

### Friends

template\<typename \_RealType1, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const **gamma\_distribution**\< \_RealType1 \> &\_\_x)\
 template\<typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **gamma\_distribution** &\_\_x)\

## Constructor & Destructor Documentation

### template\<typename \_RealType = double\> std::tr1::gamma\_distribution\< \_RealType \>::gamma\_distribution (const result\_type & \_\_alpha\_val = `result_type(1)`)` [inline, explicit]`

Constructs a gamma distribution with parameters $  lpha $.

Definition at line 2297 of file random.

## Member Function Documentation

### template\<typename \_RealType = double\> \_RealType std::tr1::gamma\_distribution\< \_RealType \>::alpha () const` [inline]`

Gets the $  lpha $ of the distribution.

Definition at line 2308 of file random.

### template\<typename \_RealType\> template\<class \_UniformRandomNumberGenerator\> gamma\_distribution\< \_RealType \>::result\_type std::tr1::gamma\_distribution\< \_RealType \>::operator() (\_UniformRandomNumberGenerator & \_\_urng)` [inline]`

Cheng's rejection algorithm GB for alpha \>= 1 and a modification of Vaduva's rejection from Weibull algorithm due to Devroye for alpha \< 1.

References: Cheng, R. C. 'The Generation of Gamma Random Variables with Non-integral Shape Parameter.' Applied Statistics, 26, 71-75, 1977.

Vaduva, I. 'Computer Generation of Gamma Gandom Variables by Rejection and Composition Procedures.' Math. Operationsforschung and Statistik, Series in Statistics, 8, 545-576, 1977.

Devroye, L. 'Non-Uniform Random Variates Generation.' Springer-Verlag, New York, 1986, Ch. IX, Sect. 3.4 (+ Errata!).

Definition at line 1471 of file random.tcc.

### template\<typename \_RealType = double\> void std::tr1::gamma\_distribution\< \_RealType \>::reset ()` [inline]`

Resets the distribution.

Definition at line 2315 of file random.

## Friends And Related Function Documentation

### template\<typename \_RealType = double\> template\<typename \_RealType1, typename \_CharT, typename \_Traits\> std::basic\_ostream\<\_CharT, \_Traits\>& operator\<\< (std::basic\_ostream\< \_CharT, \_Traits \> & \_\_os, const gamma\_distribution\< \_RealType1 \> & \_\_x)` [friend]`

Inserts a gamma\_distribution random number distribution `__x` into the output stream `__os`.

**Parameters:**

*\_\_os* An output stream. \
 *\_\_x* A gamma\_distribution random number distribution.

**Returns:**

The output stream with the state of `__x` inserted or in an error state.

### template\<typename \_RealType = double\> template\<typename \_CharT, typename \_Traits\> std::basic\_istream\<\_CharT, \_Traits\>& operator\>\> (std::basic\_istream\< \_CharT, \_Traits \> & \_\_is, gamma\_distribution\< \_RealType \> & \_\_x)` [friend]`

Extracts a gamma\_distribution random number distribution `__x` from the input stream `__is`.

**Parameters:**

*\_\_is* An input stream. \
 *\_\_x* A gamma\_distribution random number generator engine.

**Returns:**

The input stream with `__x` extracted or in an error state.

Definition at line 2347 of file random.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
