public member function
<random>

std::gamma_distribution::(constructor)

(1)
explicit gamma_distribution ( result_type alpha = 1.0, result_type beta = 1.0 );
(2)
explicit gamma_distribution ( const param_type& parm );
Construct gamma distribution
Constructs a gamma_distribution object, adopting the distribution parameters specified either by alpha and beta or by object parm.

Parameters

alpha
Parameter alpha (α), that defines the shape of the distribution.
This shall be a positive value (α>0).
result_type is a member type that represents the type of the random numbers generated on each call to operator(). It is defined as an alias of the first class template parameter (RealType).
beta
Parameter beta (β), that defines the scale of the distribution.
This shall be a positive value (β>0).
result_type is a member type that represents the type of the random numbers generated on each call to operator(). It is defined as an alias of the first class template parameter (RealType).
parm
An object representing the distribution's parameters, obtained by a call to member function param.
param_type is a member type.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// gamma_distribution example
#include <iostream>
#include <chrono>
#include <random>

int main()
{
  // construct a trivial random generator engine from a time-based seed:
  unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
  std::default_random_engine generator (seed);

  std::gamma_distribution<double> distribution (2.0,2.0);

  std::cout << "some gamma-distributed(2.0,2.0) results:" << std::endl;
  for (int i=0; i<10; ++i)
    std::cout << distribution(generator) << std::endl;

  return 0;
}


Possible output:
some gamma-distributed(2.0,2.0) results:
0.733997
4.04085
8.06862
3.02265
1.19829
2.32557
5.8804
8.40545
3.40881
1.04075

Complexity

Constant.

See also