Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

Impala::Util::Random Class Reference

A Pseudo Random Number Generator (linear congruential). More...

#include <Random.h>

List of all members.

Public Member Functions

 Random ()
 ~Random ()
void SetSeed (long seed)
void RandomizeSeed ()
int GetRandMax ()
 returns the highest random integer this class can generate
int GetInt ()
 Gives a rondom number in the range [0,GetRandMax()).
int GetInt (int upperBound)
 Gives a random integer in range [0,i).
double GetDouble ()
 returns a double in the range [0.0,1.0); there are 2^53 distinct values in this range
std::set< int > RandomUniqueNumbers (int count, int upperBound)
 get 'count' numbers in the range [0,upperBound)
int operator() (int upperBound)
 This function operator makes the class usable with STL algorithms.

Static Public Member Functions

static RandomGetGlobal ()

Private Member Functions

Int64 Next (int bits)

Private Attributes

Int64 mSeed
 ILOG_CLASS

Static Private Attributes

static const int cRandomIntBits = 31


Detailed Description

A Pseudo Random Number Generator (linear congruential).

Each instance has it's own state and thus a independant sequence of number. Although instances with the same state (same seed) produce the exact same sequence.

The implementation is copied from the javadoc of java.util.Random: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Random.html

Implementation rationale: I initially looked for a C/C++ library, but after Dennis decided not to use boost, this seemed to be the simplest solution.

Definition at line 28 of file Random.h.


The documentation for this class was generated from the following file:
Generated on Thu Jan 13 09:24:20 2011 for ImpalaSrc by  doxygen 1.5.1