uniform (Continuous)

Contents

uniform (Continuous)#

Generates random numbers with uniform distribution.

Description

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

The probability density function is given by:

\[\begin{split}f_{a, b}(x) = \begin{cases} \frac{1}{b-a}, & x \in [a, b)\\ 1, & x \notin [a, b) \end{cases}, -\infty < x < +\infty\end{split}\]

The cumulative distribution function is as follows:

\[\begin{split}F_{a, b}(x) = \begin{cases} 0, & x < a \\ \frac{x-a}{b-a}, & a \leq x < b \\ 1, & x \geq b \end{cases}, -\infty < x < +\infty\end{split}\]

class uniform#

Syntax

namespace oneapi::math::rng::device {
  template<typename Type = float, typename Method = uniform_method::by_default>
  class uniform {
  public:
    using method_type = Method;
    using result_type = Type;

    uniform();
    explicit uniform(Type a, Type b);

    Type a() const;
    Type b() const;
  };
}

Template parameters

typename RealType

Type of the produced values. Supported types:

  • float

  • double

typename Method

Generation method. The specific values are as follows:

  • oneapi::math::rng::device::uniform_method::by_default

  • oneapi::math::rng::device::uniform_method::standard

  • oneapi::math::rng::device::uniform_method::accurate

See description of the methods in Distributions methods template parameter

Class Members

Routine

Description

uniform()

Default constructor

explicit uniform(RealType a, RealType b)

Constructor with parameters

RealType a() const

Method to obtain left bound a

RealType b() const

Method to obtain right bound b

Member types

uniform::method_type = Method

Description

The type which defines transformation method for generation.

uniform::result_type = RealType

Description

The type which defines type of generated random numbers.

Constructors

uniform::uniform()

Description

Default constructor for distribution, parameters set as a = 0.0, b = 1.0.

explicit uniform::uniform(RealType a, RealType b)

Description

Constructor with parameters. a is a left bound, b is a right bound, assume \(a < b\).

Throws

oneapi::math::invalid_argument

Exception is thrown when \(a \ge b\)

Characteristics

RealType uniform::a() const

Return Value

Returns the distribution parameter a - left bound.

RealType uniform::b() const

Return Value

Returns the distribution parameter b - right bound.

Parent topic: Device Distributions