SST::RNG::XORShiftRNG Class Reference

Implements a lightweight RNG based on XOR-shift operations. More...

#include "sst/core/rng/xorshift.h"

Inheritance diagram for SST::RNG::XORShiftRNG:
SST::RNG::SSTRandom

Public Member Functions

 XORShiftRNG (unsigned int seed)
 Create a new Mersenne RNG with a specified seed.
 XORShiftRNG ()
 Creates a new Mersenne using a random seed which is obtained from the system clock.
double nextUniform ()
 Generates the next random number as a double value between 0 and 1.
uint32_t generateNextUInt32 ()
 Generates the next random number as an unsigned 32-bit integer.
uint64_t generateNextUInt64 ()
 Generates the next random number as an unsigned 64-bit integer.
int64_t generateNextInt64 ()
 Generates the next random number as a signed 64-bit integer.
int32_t generateNextInt32 ()
 Generates the next random number as a signed 32-bit integer.
 ~XORShiftRNG ()
 Destructor for Mersenne.

Protected Attributes

uint32_t x
uint32_t y
uint32_t z
uint32_t w

Detailed Description

Implements a lightweight RNG based on XOR-shift operations.

We utilize the XORSHIFT algorithm from: http://en.wikipedia.org/wiki/Xorshift. This is a very lightweight and inexpensive RNG.


Constructor & Destructor Documentation

XORShiftRNG::XORShiftRNG ( unsigned int  seed  ) 

Create a new Mersenne RNG with a specified seed.

Parameters:
[in] seed The seed for this RNG
XORShiftRNG::XORShiftRNG (  ) 

Creates a new Mersenne using a random seed which is obtained from the system clock.

Note this will give different results on different platforms and between runs.


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

Generated on 14 Sep 2015 for SST by  doxygen 1.6.1