A newer version of this document is available. Customers should click here to go to the newest version.
gamma
Generates gamma distributed random values.
Description
The gamma class object is used in the generate function to provide random numbers with gamma distribution that has shape parameter , displacement a, and scale parameter
, where
.
The probability density function is given by:

where is the complete gamma function.
The cumulative distribution function is as follows:

Product and Performance Information |
---|
Performance varies by use, configuration and other factors. Learn more at https://www.intel.com/PerformanceIndex. Notice revision #20201201 |
API
Syntax
namespace oneapi::mkl::rng {
template<typename RealType = float,
typename Method = gamma_method::by_default>
class gamma {
public:
using method_type = Method;
using result_type = RealType;
gamma(): gamma((RealType)1.0, (RealType)0.0, (RealType)1.0){}
explicit gamma(RealType alpha, RealType a, RealType beta);
explicit gamma(const param_type& pt);
RealType alpha() const;
RealType a() const;
RealType beta() const;
param_type param() const;
void param(const param_type& pt);
};
}
Devices supported: CPU and GPU.
Include Files
oneapi/mkl/rng.hpp
Template Parameters
typename RealType = float |
Type of the produced values. The specific values are as follows: float double |
typename Method = oneapi::mkl::rng::gamma_method::by_default |
Generation method. The specific values are as follows: oneapi::mkl::rng::gamma_method::marsaglia oneapi::mkl::rng::gamma_method::marsaglia_accurate See brief descriptions of the methods in Distributions Template Parameter Method. |
Input Parameters
Name |
Type |
Description |
---|---|---|
alpha |
RealType (float, double) |
Shape α |
a |
RealType (float, double) |
Displacement a. |
beta |
RealType (float, double) |
Scalefactor β. |