ROSE
0.11.82.0

Linear congruential generator.
Generates a repeatable sequence of pseudorandom numbers.
Definition at line 9 of file LinearCongruentialGenerator.h.
#include <util/LinearCongruentialGenerator.h>
Public Member Functions  
LinearCongruentialGenerator ()  
Initialize the generator with a random seed. More...  
LinearCongruentialGenerator (int seed)  
Initialize the generator with a seed. More...  
void  init () 
Random initialization. More...  
void  reset () 
Reset the sequence back to the first value. More...  
void  reseed (int seed) 
Start a new sequence of random values. More...  
int  seed () const 
Return the seed for the current sequence. More...  
uint64_t  again () const 
Return the last returned value again. More...  
uint64_t  max () 
Return the maximum possible value. More...  
bool  flip_coin () 
Return a random boolean value. More...  
uint64_t  next (size_t nbits=64, size_t niter=1) 
Return the next value in the sequence. More...  
uint64_t  operator() () 
Return the next value in the sequence. More...  
Protected Attributes  
int  seed_ 
uint64_t  value_ 

inline 
Initialize the generator with a random seed.
Definition at line 12 of file LinearCongruentialGenerator.h.

inline 
Initialize the generator with a seed.
The seed determines which sequence of numbers is returned.
Definition at line 15 of file LinearCongruentialGenerator.h.
void LinearCongruentialGenerator::init  (  ) 
Random initialization.
This uses /dev/urandom or /dev/random to initailize the sequence.

inline 
Reset the sequence back to the first value.
Definition at line 21 of file LinearCongruentialGenerator.h.

inline 
Start a new sequence of random values.
The seed identifies which sequence is returned.
Definition at line 24 of file LinearCongruentialGenerator.h.

inline 
Return the seed for the current sequence.
Definition at line 27 of file LinearCongruentialGenerator.h.

inline 
Return the last returned value again.
Definition at line 30 of file LinearCongruentialGenerator.h.
uint64_t LinearCongruentialGenerator::max  (  ) 
Return the maximum possible value.
uint64_t LinearCongruentialGenerator::next  (  size_t  nbits = 64 , 
size_t  niter = 1 

) 
Return the next value in the sequence.
If nbits is specified, then only the loworder bits are randomized and the high order bits are always cleared. For instance, to get only positive values for casting to a 32bit signed integer, use nbits=31. The niter
indicates the number of values that should be consumed, all of which are exclusiveORed together to create the return value. If niter
is zero this function returns zero without consume any values.

inline 
Return the next value in the sequence.
If nbits is specified, then only the loworder bits are randomized and the high order bits are always cleared. For instance, to get only positive values for casting to a 32bit signed integer, use nbits=31. The niter
indicates the number of values that should be consumed, all of which are exclusiveORed together to create the return value. If niter
is zero this function returns zero without consume any values.
Definition at line 41 of file LinearCongruentialGenerator.h.
bool LinearCongruentialGenerator::flip_coin  (  ) 
Return a random boolean value.