A newer version of this document is available. Customers should click here to go to the newest version.
uniform (Discrete)
Generates random numbers uniformly distributed over the interval [a, b).
Description
The uniform class object is used in 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 
.
The probability distribution is given by:
 
   The cumulative distribution function is as follows:
 
   API
Syntax
namespace oneapi::mkl::rng {
  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: 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.  |  
       
. 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  |