53 #ifndef ROCRAND_THREEFRY4X32_20_H_    54 #define ROCRAND_THREEFRY4X32_20_H_    57     #define FQUALIFIERS __forceinline__ __device__    60 #include "rocrand/rocrand_threefry4_impl.h"    76                                        const unsigned long long subsequence = 0,
    77                                        const unsigned long long offset      = 0)
    79         this->
seed(
seed, subsequence, offset);
    88                           const unsigned long long subsequence = 0,
    89                           const unsigned long long offset      = 0)
    91         m_state.counter  = {0U, 0U, 0U, 0U};
    92         m_state.result   = {0U, 0U, 0U, 0U};
    95         m_state.key = {
static_cast<unsigned int>(
seed),
    96                        static_cast<unsigned int>(
seed >> 16),
    97                        static_cast<unsigned int>(
seed >> 32),
    98                        static_cast<unsigned int>(
seed >> 48)};
   102         m_state.result = this->threefry_rounds(m_state.counter, m_state.key);
   122                               const unsigned long long       subsequence,
   123                               const unsigned long long       offset,
   145     return state->next();
   162     return state->next4();
   165 #endif // ROCRAND_THREEFRY4X32_20_H_ FQUALIFIERS void discard(unsigned long long offset)
Advances the internal state to skip offset numbers. 
Definition: rocrand_threefry4_impl.h:131
FQUALIFIERS uint4 rocrand4(rocrand_state_philox4x32_10 *state)
Returns four uniformly distributed random unsigned int values from [0; 2^32 - 1] range. 
Definition: rocrand_philox4x32_10.h:410
FQUALIFIERS void seed(const unsigned long long seed=0, const unsigned long long subsequence=0, const unsigned long long offset=0)
Reinitializes the internal state of the PRNG using new seed value seed_value, skips subsequence subse...
Definition: rocrand_threefry4x32_20.h:87
Definition: rocrand_threefry4_impl.h:119
Definition: rocrand_threefry4x32_20.h:65
FQUALIFIERS void discard_subsequence_impl(unsigned long long subsequence)
Does not calculate new values (or update m_state.result). 
Definition: rocrand_threefry4_impl.h:262
FQUALIFIERS void rocrand_init(const uint4 seed, const unsigned int subsequence, rocrand_state_lfsr113 *state)
Initializes LFSR113 state. 
Definition: rocrand_lfsr113.h:235
FQUALIFIERS threefry4x32_20_engine(const unsigned long long seed=0, const unsigned long long subsequence=0, const unsigned long long offset=0)
Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence...
Definition: rocrand_threefry4x32_20.h:75
#define FQUALIFIERS
Shorthand for commonly used function qualifiers. 
Definition: rocrand_uniform.h:31
Definition: rocrand_common.h:52
FQUALIFIERS unsigned int rocrand(rocrand_state_lfsr113 *state)
Returns uniformly distributed random unsigned int value from [0; 2^32 - 1] range. ...
Definition: rocrand_lfsr113.h:253