uniform (discrete)#
Class is used for generation of uniformly distributed integer types random numbers.
Description
The class object is used in the oneapi::mkl::rng::generate() function to provide random numbers uniformly distributed over the interval \([a, b)\), where \(a\), \(b\) are the left and right bounds of the interval, respectively, and \(a, b \in R; a < b\).
The probability distribution is given by:
The cumulative distribution function is as follows:
class uniform#
Syntax
namespace oneapi::mkl::rng {
template<typename Method = uniform_method::by_default>
class uniform<std::int32_t, Method> {
public:
using method_type = Method;
using result_type = std::int32_t;
uniform();
explicit uniform(std::int32_t a, std::int32_t b);
std::int32_t a() const;
std::int32_t b() const;
};
}
Template parameters
- typename Method = oneapi::mkl::rng::uniform_method::by_default
Transformation method, which will be used for generation. Supported types:
oneapi::mkl::rng::uniform_method::by_default
oneapi::mkl::rng::uniform_method::standard
See description of the methods in Distributions methods template parameter.
Class Members
Routine |
Description |
---|---|
Default constructor |
|
Constructor with parameters |
|
Method to obtain left bound a |
|
Method to obtain right bound b |
Member types
method_type = Method
Description
The type which defines transformation method for generation.
result_type = std::int32_t
Description
The type which defines type of generated random numbers.
Constructors
uniform()
Description
Default constructor for distribution, parameters set as a = 0, b = std::numeric_limits<std::int32_t>::max().
uniform(std::int32_t a, std::int32_t b)
Description
Constructor with parameters. a is a left bound, b is a right bound, assume \(a < b\).
Throws
- oneapi::mkl::invalid_argument
Exception is thrown when \(a \ge b\)
Characteristics
a() const
Return Value
Returns the distribution parameter a - left bound.
b() const
Return Value
Returns the distribution parameter b - right bound.
Parent topic: Host Distributions