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,bR;a<b.

The probability distribution is given by:

P(X=k)=1ba,k{a,a+1,...,b1}

The cumulative distribution function is as follows:

Fa,b(x)={0,x<axa+1ba,ax<b,xR1,xb

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

uniform()

Default constructor

explicit uniform(std::int32_t a, std::int32_t b)

Constructor with parameters

std::int32_t a() const

Method to obtain left bound a

std::int32_t b() const

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 ab

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: Distributions