gamma#
Generates gamma distributed random numbers.
Description
The gamma
class object is used in the generate
function to provide
random numbers with gamma distribution that has shape \(\alpha\),
displacement \(a\), and scale parameter \(\beta\), where
\(a, \alpha, \beta \in R; \alpha > 0; \beta > 0\).
The probability distribution is given by:
The cumulative distribution function is as follows:
class gamma#
Syntax
namespace oneapi::mkl::rng::device {
template<typename RealType, typename Method>
class gamma {
public:
using method_type = Method;
using result_type = RealType;
gamma();
explicit gamma(RealType alpha, RealType a, RealType beta);
RealType alpha() const;
RealType a() const;
RealType beta() const;
std::size_t count_rejected_numbers() const;
};
}
Template parameters
- typename RealType
Type of the produced values. Supported types:
float
double
- typename Method
Generation method. The type is unspecified.
Class Members
Routine |
Description |
---|---|
Default constructor |
|
Constructor with parameters |
|
Method to obtain shape value |
|
Method to obtain displacement value |
|
Method to obtain scale parameter |
|
Method to obtain amount of random numbers that were rejected during
the last |
Member types
gamma::method_type = Method
Description
The type which defines transformation method for generation.
gamma::result_type = RealType
Description
The type which defines type of generated random numbers.
Constructors
gamma::gamma()
Description
Default constructor for distribution, parameters set as
alpha
= 1.0, a
= 0.0, beta
= 1.0.
explicit gamma::gamma(RealType alpha, RealType a, RealType beta)
Description
Constructor with parameters. alpha
is a shape, a
is a displacement, beta
is a scale parameter.
Throws
- oneapi::mkl::invalid_argument
Exception is thrown when \(alpha \leq 0\) or \(beta \leq 0\)
Characteristics
RealType gamma::alpha() const
Return Value
Returns the distribution parameter alpha
- shape.
RealType gamma::a() const
Return Value
Returns the distribution parameter a
- displacement.
RealType gamma::beta() const
Return Value
Returns the distribution parameter beta
- scale parameter value.
std::size_t gamma::count_rejected_numbers() const
Return Value
Returns the amount of random numbers that were rejected during
the last generate
function call. If no generate
calls, 0
is returned.
Parent topic: Device Distributions