Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
Random.inl File Reference
#include <hydra/detail/external/hydra_thrust/memory.h>
Include dependency graph for Random.inl:
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 RANDOM_INL_
 

Functions

template<typename RNG , typename DerivedPolicy , typename Functor , typename Iterator >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator > >::type hydra::sample (hydra::thrust::detail::execution_policy_base< DerivedPolicy > const &policy, Iterator begin, Iterator end, double min, double max, Functor const &functor, size_t seed=0xb56c4feeef1b, size_t rng_jump=0)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterator , hydra::detail::Backend BACKEND>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator > >::type hydra::sample (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterator begin, Iterator end, double min, double max, Functor const &functor, size_t seed=0xb56c4feeef1b, size_t rng_jump=0)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterator >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator > >::type hydra::sample (Iterator begin, Iterator end, double min, double max, Functor const &functor, size_t seed=0xb56c4feeef1b, size_t rng_jump=0)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterable >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterable< Iterable >::value,Range< decltype(std::declval< Iterable >).begin())> >::type hydra::sample (Iterable &&output, double min, double max, Functor const &functor, size_t seed=0xb56c4feeef1b, size_t rng_jump=0)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename DerivedPolicy , typename Functor , typename Iterator , size_t N>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator >>::type hydra::sample (hydra::thrust::detail::execution_policy_base< DerivedPolicy > const &policy, Iterator begin, Iterator end, std::array< double, N > const &min, std::array< double, N > const &max, Functor const &functor, size_t seed, size_t rng_jump)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterator , hydra::detail::Backend BACKEND, size_t N>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator > >::type hydra::sample (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterator begin, Iterator end, std::array< double, N >const &min, std::array< double, N >const &max, Functor const &functor, size_t seed=0xb56c4feeef1b, size_t rng_jump=0)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterator , size_t N>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator >>::type hydra::sample (Iterator begin, Iterator end, std::array< double, N >const &min, std::array< double, N >const &max, Functor const &functor, size_t seed, size_t rng_jump)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterator >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value &&detail::is_tuple_type< decltype(*std::declval< Iterator >))>::value, Range< Iterator > >::type hydra::sample (Iterator begin, Iterator end, typename Functor::argument_type const &min, typename Functor::argument_type const &max, Functor const &functor, size_t seed, size_t rng_jump)
 
template<typename RNG , typename Functor , typename Iterable , size_t N>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterable< Iterable >::value, Range< decltype(std::declval< Iterable >).begin())>>::type hydra::sample (Iterable &&output, std::array< double, N >const &min, std::array< double, N >const &max, Functor const &functor, size_t seed, size_t rng_jump)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename Functor , typename Iterable >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterable< Iterable >::value &&detail::is_tuple_type< decltype(*std::declval< Iterable >).begin())>::value,Range< decltype(std::declval< Iterable >).begin())> >::type hydra::sample (Iterable &&output, typename Functor::argument_type const &min, typename Functor::argument_type const &max, Functor const &functor, size_t seed, size_t rng_jump)
 Fill a range with numbers distributed according a user defined distribution. More...
 
template<typename RNG , typename DerivedPolicy , typename IteratorData , typename IteratorWeight >
std::enable_if< detail::random::is_iterator< IteratorData >::value &&detail::random::is_iterator< IteratorWeight >::value, Range< IteratorData >>::type hydra::unweight (hydra::thrust::detail::execution_policy_base< DerivedPolicy > const &policy, IteratorData data_begin, IteratorData data_end, IteratorWeight weights_begin, double max_pdf, size_t rng_seed, size_t rng_jump)
 This functions reorder a dataset to produce a unweighted sample according to the weights [wbegin, wend]. More...
 
template<typename RNG , typename IteratorData , typename IteratorWeight , hydra::detail::Backend BACKEND>
std::enable_if< detail::random::is_iterator< IteratorData >::value &&detail::random::is_iterator< IteratorWeight >::value, Range< IteratorData >>::type hydra::unweight (detail::BackendPolicy< BACKEND > const &policy, IteratorData data_begin, IteratorData data_end, IteratorWeight weights_begin, double max_pdf, size_t rng_seed, size_t rng_jump)
 This functions reorder a dataset to produce a unweighted sample according to the weights [wbegin, wend]. More...
 
template<typename RNG , typename IteratorData , typename IteratorWeight >
std::enable_if< detail::random::is_iterator< IteratorData >::value &&detail::random::is_iterator< IteratorWeight >::value, Range< IteratorData > >::type hydra::unweight (IteratorData data_begin, IteratorData data_end, IteratorWeight weights_begin, double max_pdf, size_t rng_seed, size_t rng_jump)
 
template<typename RNG , typename IterableData , typename IterableWeight , hydra::detail::Backend BACKEND>
std::enable_if< detail::random::is_iterable< IterableData >::value &&detail::random::is_iterable< IterableWeight >::value, Range< decltype(std::declval< IterableData >).begin())> >::type hydra::unweight (hydra::detail::BackendPolicy< BACKEND > const &policy, IterableData &&data, IterableWeight &&weights, double max_pdf=-1.0, size_t rng_seed=0x8ec74d321e6b5a27, size_t rng_jump=0)
 This functions reorder a dataset to produce a unweighted sample according to a weights. More...
 
template<typename RNG , typename IterableData , typename IterableWeight >
std::enable_if< detail::random::is_iterable< IterableData >::value &&detail::random::is_iterable< IterableWeight >::value, Range< decltype(std::declval< IterableData >).begin())> >::type hydra::unweight (IterableData &&data, IterableWeight &&weights, double max_pdf, size_t rng_seed, size_t rng_jump)
 
template<typename RNG , typename Functor , typename Iterator , typename DerivedPolicy >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator >>::type hydra::unweight (hydra::thrust::detail::execution_policy_base< DerivedPolicy > const &policy, Iterator begin, Iterator end, Functor const &functor, double max_pdf=-1.0, size_t rng_seed=0x8ec74d321e6b5a27, size_t rng_jump=0)
 This functions reorder a dataset to produce an unweighted sample according to. More...
 
template<typename RNG , typename Functor , typename Iterator , hydra::detail::Backend BACKEND>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator >>::type hydra::unweight (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterator begin, Iterator end, Functor const &functor, double max_pdf=-1.0, size_t rng_seed=0x8ec74d321e6b5a27, size_t rng_jump=0)
 This functions reorder a dataset to produce an unweighted sample according to. More...
 
template<typename RNG , typename Functor , typename Iterator >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterator< Iterator >::value, Range< Iterator >>::type hydra::unweight (Iterator begin, Iterator end, Functor const &functor, double max_pdf=-1.0, size_t rng_seed=0x8ec74d321e6b5a27, size_t rng_jump=0)
 This functions reorder a dataset to produce an unweighted sample according to. More...
 
template<typename RNG , typename Functor , typename Iterable , hydra::detail::Backend BACKEND>
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterable< Iterable >::value, Range< decltype(std::declval< Iterable >).begin())>>::type hydra::unweight (hydra::detail::BackendPolicy< BACKEND > const &policy, Iterable &&iterable, Functor const &functor, double max_pdf=-1.0, size_t rng_seed=0x8ec74d321e6b5a27, size_t rng_jump=0)
 This functions reorder a dataset to produce an unweighted sample according to. More...
 
template<typename RNG , typename Functor , typename Iterable >
std::enable_if< detail::random::is_callable< Functor >::value &&detail::random::is_iterable< Iterable >::value, Range< decltype(std::declval< Iterable >).begin())>>::type hydra::unweight (Iterable &&iterable, Functor const &functor, double max_pdf, size_t rng_seed, size_t rng_jump)
 This functions reorder a dataset to produce an unweighted sample according to. More...
 

Macro Definition Documentation

◆ RANDOM_INL_

#define RANDOM_INL_