Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::random Namespace Reference

Namespaces

 detail
 

Data Structures

class  EngineR123
 
class  squares3
 
class  squares4
 

Typedefs

typedef void ars
 
typedef EngineR123< hydra_r123::Philox2x64 > philox
 
typedef EngineR123< hydra_r123::Philox4x64 > philox_long
 
typedef EngineR123< hydra_r123::Threefry2x64 > threefry
 
typedef EngineR123< hydra_r123::Threefry4x64 > threefry_long
 

Functions

template<typename UIntType >
__hydra_host__ __hydra_device__ UIntType splitmix (UIntType &)
 
template<>
__hydra_host__ __hydra_device__ uint32_t splitmix< uint32_t > (uint32_t &x)
 
template<>
__hydra_host__ __hydra_device__ uint64_t splitmix< uint64_t > (uint64_t &x)
 

Typedef Documentation

◆ ars

typedef void hydra::random::ars

◆ philox

typedef EngineR123<hydra_r123::Philox2x64> hydra::random::philox

◆ philox_long

typedef EngineR123<hydra_r123::Philox4x64> hydra::random::philox_long

◆ threefry

typedef EngineR123<hydra_r123::Threefry2x64> hydra::random::threefry

◆ threefry_long

typedef EngineR123<hydra_r123::Threefry4x64> hydra::random::threefry_long

Function Documentation

◆ splitmix()

template<typename UIntType >
__hydra_host__ __hydra_device__ UIntType hydra::random::splitmix ( UIntType &  )
inline

◆ splitmix< uint32_t >()

template<>
__hydra_host__ __hydra_device__ uint32_t hydra::random::splitmix< uint32_t > ( uint32_t &  x)
inline

◆ splitmix< uint64_t >()

template<>
__hydra_host__ __hydra_device__ uint64_t hydra::random::splitmix< uint64_t > ( uint64_t &  x)
inline