53 #ifndef ROCRAND_THREEFRY2X32_20_H_ 54 #define ROCRAND_THREEFRY2X32_20_H_ 57 #define FQUALIFIERS __forceinline__ __device__ 60 #include "rocrand/rocrand_threefry2_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};
92 m_state.result = {0U, 0U};
95 m_state.key = {
static_cast<unsigned int>(
seed), static_cast<unsigned int>(
seed >> 32)};
98 this->discard(offset);
99 m_state.result = this->threefry_rounds(m_state.counter, m_state.key);
120 const unsigned long long subsequence,
121 const unsigned long long offset,
143 return state->next();
160 return state->next2();
163 #endif // ROCRAND_THREEFRY2X32_20_H_ Definition: rocrand_threefry2_impl.h:104
Definition: rocrand_threefry2x32_20.h:65
FQUALIFIERS void rocrand_init(const uint4 seed, const unsigned int subsequence, rocrand_state_lfsr113 *state)
Initializes LFSR113 state.
Definition: rocrand_lfsr113.h:235
FQUALIFIERS void discard_subsequence_impl(unsigned long long subsequence)
Does not calculate new values (or update m_state.result).
Definition: rocrand_threefry2_impl.h:224
#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
FQUALIFIERS threefry2x32_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_threefry2x32_20.h:75
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_threefry2x32_20.h:87