Entry point to obtain random numbers from a given engine with proper statistics of a given distribution.
template<typename Distr, typename Engine>
auto generate(Distr& distr, Engine& engine) ->
typename std::conditional<Engine::vec_size == 1, typename Distr::result_type,
sycl::vec<typename Distr::result_type, Engine::vec_size>>::type
Name |
Type |
Description |
---|---|---|
distr |
Distr& |
Distribution object. See Device Distributions for details. |
engine |
Engine& |
Engine object. See Device Engines for details. |
Name |
Type |
Description |
---|---|---|
result |
sycl::vec< typename Distr::result_type, Engine::vec_size> or typename Distr::result_type |
Function returns sycl::vec of type specified by Distribution object and vector size specified by Engine object filled with random numbers or a scalar random number in case vec_size=1. |