Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
RandomFill.inl File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 hydra
 Generic policies definition.
 

Macros

#define RANDOMFILL_INL_
 

Functions

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...
 

Macro Definition Documentation

◆ RANDOMFILL_INL_

#define RANDOMFILL_INL_