Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::detail::gray_code< LatticeT > Class Template Reference

#include <GrayCode.h>

Inheritance diagram for hydra::detail::gray_code< LatticeT >:
Collaboration diagram for hydra::detail::gray_code< LatticeT >:

Public Types

typedef LatticeT::value_type result_type
 
typedef result_type size_type
 
- Public Types inherited from hydra::detail::quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type >
typedef LatticeT::value_type result_type
 
typedef LatticeT::value_type size_type
 

Public Member Functions

__hydra_host__ __hydra_device__ gray_code ()
 
__hydra_host__ __hydra_device__ void seed ()
 
__hydra_host__ __hydra_device__ void seed (const size_type init)
 
- Public Member Functions inherited from hydra::detail::quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type >
__hydra_host__ __hydra_device__ quasi_random_base ()
 
__hydra_host__ __hydra_device__ quasi_random_base (quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type > const &other)
 
__hydra_host__ __hydra_device__ constexpr unsigned dimension () const
 Returns: The dimension of of the quasi-random domain. More...
 
__hydra_host__ __hydra_device__ void discard (uintmax_t z)
 Effects: Advances *this state as if z consecutive X::operator() invocations were executed. More...
 
__hydra_host__ __hydra_device__ std::enable_if< sizeof...(T)==LatticeT::lattice_dimension, void >::type generate (hydra::tuple< T... > &data)
 Fills a range with quasi-random values. More...
 
__hydra_host__ __hydra_device__ result_type operator() ()
 Returns: Returns a successive element of an s-dimensional (s = X::dimension()) vector at each invocation. More...
 
__hydra_host__ __hydra_device__ quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type > operator= (quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type > const &other)
 

Static Public Attributes

static const result_type max
 
static const result_type min =0
 

Friends

class quasi_random_base< self_t, LatticeT, size_type >
 

Additional Inherited Members

- Protected Types inherited from hydra::detail::quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type >
typedef result_typestate_iterator
 
- Protected Member Functions inherited from hydra::detail::quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type >
__hydra_host__ __hydra_device__ size_type curr_seq () const
 
__hydra_host__ __hydra_device__ void reset_seq (size_type seq)
 
__hydra_host__ __hydra_device__ state_iterator state_begin ()
 
__hydra_host__ __hydra_device__ state_iterator state_end ()
 
- Protected Attributes inherited from hydra::detail::quasi_random_base< gray_code< LatticeT >, LatticeT, LatticeT::value_type >
LatticeT lattice
 

Detailed Description

template<typename LatticeT>
class hydra::detail::gray_code< LatticeT >

Member Typedef Documentation

◆ result_type

template<typename LatticeT>
typedef LatticeT::value_type hydra::detail::gray_code< LatticeT >::result_type

◆ size_type

template<typename LatticeT>
typedef result_type hydra::detail::gray_code< LatticeT >::size_type

Constructor & Destructor Documentation

◆ gray_code()

template<typename LatticeT>
__hydra_host__ __hydra_device__ hydra::detail::gray_code< LatticeT >::gray_code ( )
inlineexplicit

Member Function Documentation

◆ seed() [1/2]

template<typename LatticeT>
__hydra_host__ __hydra_device__ void hydra::detail::gray_code< LatticeT >::seed ( )
inline

◆ seed() [2/2]

template<typename LatticeT>
__hydra_host__ __hydra_device__ void hydra::detail::gray_code< LatticeT >::seed ( const size_type  init)
inline

Friends And Related Function Documentation

◆ quasi_random_base< self_t, LatticeT, size_type >

template<typename LatticeT>
friend class quasi_random_base< self_t, LatticeT, size_type >
friend

Field Documentation

◆ max

template<typename LatticeT>
const result_type hydra::detail::gray_code< LatticeT >::max
static

◆ min

template<typename LatticeT>
const result_type hydra::detail::gray_code< LatticeT >::min =0
static

The documentation for this class was generated from the following file: