|
template<typename Engine , hydra::detail::Backend BACKEND, typename Iterator , typename FUNCTOR > |
std::enable_if< hydra::detail::has_rng_formula< FUNCTOR >::value &&std::is_convertible< decltype(std::declval< RngFormula< FUNCTOR > >).Generate(std::declval< Engine & >), std::declval< FUNCTOR const & >))), typename hydra::thrust::iterator_traits< Iterator >::value_type >::value, void >::type | hydra::fill_random (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterator begin, Iterator end, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fill a range with numbers distributed according a user defined distribution using a RNG analytical formula. More...
|
|
template<typename Engine , typename Iterator , typename FUNCTOR > |
std::enable_if< hydra::detail::has_rng_formula< FUNCTOR >::value &&std::is_convertible< decltype(std::declval< RngFormula< FUNCTOR > >).Generate(std::declval< Engine & >), std::declval< FUNCTOR const & >))), typename hydra::thrust::iterator_traits< Iterator >::value_type >::value, void >::type | hydra::fill_random (Iterator begin, Iterator end, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fill a range with numbers distributed according a user defined distribution using a RNG analytical formula. More...
|
|
template<typename Engine , hydra::detail::Backend BACKEND, typename Iterable , typename FUNCTOR > |
std::enable_if< detail::random::is_matching_iterable< Engine, FUNCTOR, Iterable >::value, void >::type | hydra::fill_random (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterable &&iterable, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fill a range with numbers distributed according a user defined distribution. More...
|
|
template<typename Engine , typename Iterable , typename FUNCTOR > |
std::enable_if< detail::random::is_matching_iterable< Engine, FUNCTOR, Iterable >::value, void >::type | hydra::fill_random (Iterable &&iterable, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fill a range with numbers distributed according a user defined distribution. More...
|
|
template<typename Engine , hydra::detail::Backend BACKEND, typename Iterator , typename FUNCTOR > |
std::enable_if< !hydra::detail::has_rng_formula< FUNCTOR >::value, void >::type | hydra::fill_random (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterator begin, Iterator end, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fall back function if RngFormula is not implemented for the requested functor. More...
|
|
template<typename Engine , typename Iterator , typename FUNCTOR > |
std::enable_if< !hydra::detail::has_rng_formula< FUNCTOR >::value, void >::type | hydra::fill_random (Iterator begin, Iterator end, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fall back function if RngFormula is not implemented for the requested functor. More...
|
|
template<typename Engine , hydra::detail::Backend BACKEND, typename Iterator , typename FUNCTOR > |
std::enable_if< !std::is_convertible< decltype(std::declval< RngFormula< FUNCTOR > >).Generate(std::declval< Engine & >), std::declval< FUNCTOR const & >))), typename std::iterator_traits< Iterator >::value_type >::value &&hydra::detail::has_rng_formula< FUNCTOR >::value, void >::type | hydra::fill_random (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterator begin, Iterator end, FUNCTOR const &funct, size_t seed, size_t rng_jump) |
| Fall back function if RngFormula::Generate() return value is not convertible to functor return value. More...
|
|
template<typename Engine , typename Iterator , typename FUNCTOR > |
std::enable_if< !std::is_convertible< decltype(std::declval< RngFormula< FUNCTOR > >).Generate(std::declval< Engine & >), std::declval< FUNCTOR const & >))), typename std::iterator_traits< Iterator >::value_type >::value &&hydra::detail::has_rng_formula< FUNCTOR >::value, void >::type | hydra::fill_random (Iterator begin, Iterator end, FUNCTOR const &funct, size_t seed, size_t rng_jump) |
| Fall back function if RngFormula::Generate() return value is not convertible to functor return value. More...
|
|
template<typename Engine , hydra::detail::Backend BACKEND, typename Iterable , typename FUNCTOR > |
std::enable_if< !(detail::random::is_matching_iterable< Engine, FUNCTOR, Iterable >::value), void >::type | hydra::fill_random (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterable &&iterable, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fall back function if the argument is not an Iterable or if it is not convertible to the Functor return value. More...
|
|
template<typename Engine , typename Iterable , typename FUNCTOR > |
std::enable_if<!detail::random::is_matching_iterable< Engine, FUNCTOR, Iterable >::value, void >::type | hydra::fill_random (Iterable &&iterable, FUNCTOR const &functor, size_t seed, size_t rng_jump) |
| Fall back function if the argument is not an Iterable or if it is not convertible to the Functor return value. More...
|
|