Developer Reference

Contents

oneapi::mkl::rng::uniform (Discrete)

Generates random numbers uniformly distributed over the interval
[a, b)
.

Description

The
oneapi::mkl::rng::uniform
class object is used in
oneapi::mkl::rng::generate
functions 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∈Z; a < b
.
The probability distribution is given by:
LaTex Math image.
The cumulative distribution function is as follows:
LaTex Math image.

API

Syntax
template<typename Method> class uniform<std::(u)int32_t, Method> { public: using method_type = Method; using result_type = std::(u)int32_t; uniform(): uniform((std::(u)int32_t )(0), std::is_same<Method, uniform_method::standard>::value ? (1 << 23) :std::numeric_limits<Type>::max()){}; explicit uniform(std::(u)int32_t a, std::(u)int32_t b); explicit uniform(const param_type& pt); std::(u)int32_t a() const; std::(u)int32_t b() const; param_type param() const; void param(const param_type& pt); };
Devices supported: Host, CPU, and GPU.
Include Files
  • oneapi/mkl/rng.hpp
Template Parameters
typename Method = oneapi::mkl::rng::uniform_method::by_default
Generation method. The specific values are as follows:
oneapi::mkl::rng::uniform_method::standard
oneapi::mkl::rng::uniform_method::accurate
See brief descriptions of the methods in Distributions Template Parameter Method.
The
oneapi::mkl::rng::uniform_method::standard
uses the
s
BRNG type on GPU devices. This might cause the produced numbers to have incorrect statistics (due to rounding error) when LaTex Math image.. To get proper statistics for this case, use the
oneapi::mkl::rng::uniform_method::accurate
method instead.
Input Parameters
Name
Type
Description
a
std::int32_t
std::uint32_t
Left bound
a
b
std::int32_t
std::uint32_t
Right bound
b

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.