A newer version of this document is available. Customers should click here to go to the newest version.
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 
.
The probability distribution is given by:
 
   The cumulative distribution function is as follows:
 
   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.  |  
       
. To get proper statistics for this case, use the oneapi::mkl::rng::device::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  |