rocRAND
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
rocrand_device::xorwow_engine Class Reference
Collaboration diagram for rocrand_device::xorwow_engine:
Collaboration graph
[legend]

Classes

struct  xorwow_state
 

Public Member Functions

FQUALIFIERS xorwow_engine (const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)
 Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers. More...
 
FQUALIFIERS void discard (unsigned long long offset)
 Advances the internal state to skip offset numbers.
 
FQUALIFIERS void discard_subsequence (unsigned long long subsequence)
 Advances the internal state to skip subsequence subsequences. More...
 
FQUALIFIERS unsigned int operator() ()
 
FQUALIFIERS unsigned int next ()
 

Protected Member Functions

FQUALIFIERS void jump (unsigned long long v, const unsigned int jump_matrices[XORWOW_JUMP_MATRICES][XORWOW_SIZE])
 

Protected Attributes

xorwow_state m_state
 

Friends

struct detail::engine_boxmuller_helper< xorwow_engine >
 

Constructor & Destructor Documentation

◆ xorwow_engine()

FQUALIFIERS rocrand_device::xorwow_engine::xorwow_engine ( const unsigned long long  seed,
const unsigned long long  subsequence,
const unsigned long long  offset 
)
inline

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

A subsequence is 2^67 numbers long.

Member Function Documentation

◆ discard_subsequence()

FQUALIFIERS void rocrand_device::xorwow_engine::discard_subsequence ( unsigned long long  subsequence)
inline

Advances the internal state to skip subsequence subsequences.

A subsequence is 2^67 numbers long.


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