12 #ifndef SST_CORE_RNG_XORSHIFT_H 
   13 #define SST_CORE_RNG_XORSHIFT_H 
   20 #define XORSHIFT_UINT32_MAX 4294967295U 
   21 #define XORSHIFT_UINT64_MAX 18446744073709551615ULL 
   22 #define XORSHIFT_INT32_MAX  2147483647L 
   23 #define XORSHIFT_INT64_MAX  9223372036854775807LL 
   79     void seed(uint64_t newSeed);
 
   97 #endif //SST_CORE_RNG_XORSHIFT_H 
int32_t generateNextInt32() override
Generates the next random number as a signed 32-bit integer. 
Definition: xorshift.cc:92
XORShiftRNG()
Creates a new Mersenne using a random seed which is obtained from the system clock. 
Definition: xorshift.cc:24
void seed(uint64_t newSeed)
Seed the XOR RNG. 
Definition: xorshift.cc:106
uint64_t generateNextUInt64() override
Generates the next random number as an unsigned 64-bit integer. 
Definition: xorshift.cc:58
~XORShiftRNG()
Destructor for Mersenne. 
Definition: xorshift.cc:113
Implements the base class for random number generators for the SST core. 
Definition: sstrng.h:27
Implements a lightweight RNG based on XOR-shift operations. 
Definition: xorshift.h:35
int64_t generateNextInt64() override
Generates the next random number as a signed 64-bit integer. 
Definition: xorshift.cc:72
double nextUniform() override
Generates the next random number as a double value between 0 and 1. 
Definition: xorshift.cc:47
uint32_t generateNextUInt32() override
Generates the next random number as an unsigned 32-bit integer. 
Definition: xorshift.cc:52