mkl::rng::uniform (Continuous)

Generates random numbers with uniform distribution.

Syntax

template<typename Type = float, typename Method = mkl::rng::uniform_method::by_default>

class uniform {

public:

using method_type = Method;

using result_type = Type;

uniform(): uniform((Type)0.0, (Type)1.0){}

explicit uniform(Type a, Type b);

explicit uniform(const uniform<Type, Method>& other);

Type a() const;

Type b() const;

uniform<Type, Method>& operator=(const uniform<Type, Method>& other);

};

Devices supported: Host, CPU, and GPU.

Include Files

Description

The class object is used in 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∈R ; a < b.

The probability density function is given by:


Equation

The cumulative distribution function is as follows:


Equation

Template Parameters

typename Type = float

Type of the produced values. The specific values are as follows:

float

double

typename Method = mkl::rng::uniform_method::by_default

Generation method. The specific values are as follows:

mkl::rng::uniform_method::standard

mkl::rng::uniform_method::standard_accurate

See brief descriptions of the methods in Distributions Template Parameter Method Values

Input Parameters

Name

Type

Description

a

Type (float, double)

Left bound a

b

Type (float, double)

Right bound b