A newer version of this document is available. Customers should click here to go to the newest version.
bernoulli
Generates Bernoulli distributed random values.
Description
The bernoulli class object is used in the generate function to provide Bernoulli distributed random numbers with probability p of a single trial success, where .
A variate is called Bernoulli distributed if after a trial it is equal to 1 with probability of success p and to 0 with probability 1 - p.
The probability distribution is given by:
P(X=1) = p
P(X=0) = 1 - p
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 = bernoulli_method::by_default>
class bernoulli {
public:
using method_type = Method;
using result_type = IntType;
bernoulli(): bernoulli(0.5f){}
explicit bernoulli(float p);
explicit bernoulli(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
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::bernoulli_method::by_default |
Generation method. The specific values are as follows: oneapi::mkl::rng::bernoulli_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. |