A newer version of this document is available. Customers should click here to go to the newest version.
geometric
Generates geometrically distributed random values.
Description
The geometric class object is used in the generate function to provide geometrically distributed random numbers with probability p of a single trial success, where .
A geometrically distributed variate represents the number of independent Bernoulli trials preceding the first success. The probability of a single Bernoulli trial success is p.
The probability distribution is given by:
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 IntType = std::int32_t,
typename Method = geometric_method::by_default>
class geometric {
public:
using method_type = Method;
using result_type = IntType;
geometric(): geometric(0.5){}
explicit geometric(float p);
explicit geometric(const param_type& pt);
float p() const;
param_type param() const;
void param(const param_type& pt);
};
}
Devices supported: CPU and GPU.
Include Files
oneapi/mkl/rng.hpp
Template Parameters
Name |
Description |
---|---|
typename IntType = std::int32_t |
Type of the produced values. The specific values are as follows: std::int32_t std::uint32_t |
typename Method = oneapi::mkl::rng:: geometric_method:: by_default |
Generation method. The specific values are as follows: oneapi::mkl::rng::geometric_method::icdf See brief descriptions of the methods in Distributions Template Parameter Method. |
Input Parameters
Name |
Type |
Description |
---|---|---|
p |
float |
Success probability p of a trial. |