Developer Reference

Contents

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

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

Description

The
oneapi::mkl::rng::device::uniform
class object is used in
oneapi::mkl::rng::device::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 Type, typename Method> class uniform<std::(u)int32_t, Method> { public: using method_type = Method; using result_type = Type; uniform(): uniform((Type)0, std::is_same<Method, uniform_method::standard>::value ? (1 << 23) : std::numeric_limits<Type>::max()){}; explicit uniform(Type a, Type b); explicit uniform(const param_type& pt); Type a() const; Type b() const; param_type param() const; void param(const param_type& pt); };
Include Files
  • oneapi/mkl/rng/device.hpp
Template Parameters
typename Method
Generation method. The specific values are as follows:
oneapi::mkl::rng::device::uniform_method::standard
oneapi::mkl::rng::device::uniform_method::accurate
See brief descriptions of the methods in Distributions Template Parameter Method.
The
oneapi::mkl::rng::device::uniform_method::standard
uses the
s
BRNG type. 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::device::uniform_method::accurate
method instead.
Input Parameters
Name
Type
Description
c
std::int32_t
std::uint32_t
Left bound
a
d
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.