Random Class Reference

A simple pseudo-random number generator. More...

List of all members.

Public Member Functions

 Random (int64 seedValue) throw ()
 Creates a Random object based on a seed value.
 ~Random () throw ()
 Destructor.
int nextInt () throw ()
 Returns the next random 32 bit integer.
int nextInt (int maxValue) throw ()
 Returns the next random number, limited to a given range.
int64 nextInt64 () throw ()
 Returns the next 64-bit random number.
float nextFloat () throw ()
 Returns the next random floating-point number.
double nextDouble () throw ()
 Returns the next random floating-point number.
bool nextBool () throw ()
 Returns the next random boolean value.
const BigInteger nextLargeNumber (const BigInteger &maximumValue)
 Returns a BigInteger containing a random number.
void fillBitsRandomly (BigInteger &arrayToChange, int startBit, int numBits)
 Sets a range of bits in a BigInteger to random values.
void setSeed (int64 newSeed) throw ()
 Resets this Random object to a given seed value.
void combineSeed (int64 seedValue) throw ()
 Merges this object's seed with another value.
void setSeedRandomly ()
 Reseeds this generator using a value generated from various semi-random system properties like the current time, etc.

Static Public Member Functions

static RandomgetSystemRandom () throw ()
 To avoid the overhead of having to create a new Random object whenever you need a number, this is a shared application-wide object that can be used.

Detailed Description

A simple pseudo-random number generator.


Constructor & Destructor Documentation

Random::Random ( int64  seedValue  )  throw () [explicit]

Creates a Random object based on a seed value.

For a given seed value, the subsequent numbers generated by this object will be predictable, so a good idea is to set this value based on the time, e.g.

new Random (Time::currentTimeMillis())

Random::~Random (  )  throw ()

Destructor.


Member Function Documentation

int Random::nextInt (  )  throw ()

Returns the next random 32 bit integer.

Returns:
a random integer from the full range 0x80000000 to 0x7fffffff
int Random::nextInt ( int  maxValue  )  throw ()

Returns the next random number, limited to a given range.

Returns:
a random integer between 0 (inclusive) and maxValue (exclusive).
int64 Random::nextInt64 (  )  throw ()

Returns the next 64-bit random number.

Returns:
a random integer from the full range 0x8000000000000000 to 0x7fffffffffffffff
float Random::nextFloat (  )  throw ()

Returns the next random floating-point number.

Returns:
a random value in the range 0 to 1.0
double Random::nextDouble (  )  throw ()

Returns the next random floating-point number.

Returns:
a random value in the range 0 to 1.0
bool Random::nextBool (  )  throw ()

Returns the next random boolean value.

const BigInteger Random::nextLargeNumber ( const BigInteger maximumValue  ) 

Returns a BigInteger containing a random number.

Returns:
a random value in the range 0 to (maximumValue - 1).
void Random::fillBitsRandomly ( BigInteger arrayToChange,
int  startBit,
int  numBits 
)

Sets a range of bits in a BigInteger to random values.

static Random& Random::getSystemRandom (  )  throw () [static]

To avoid the overhead of having to create a new Random object whenever you need a number, this is a shared application-wide object that can be used.

It's not thread-safe though, so threads should use their own Random object.

Referenced by juce_getOutputFromCommand().

void Random::setSeed ( int64  newSeed  )  throw ()

Resets this Random object to a given seed value.

void Random::combineSeed ( int64  seedValue  )  throw ()

Merges this object's seed with another value.

This sets the seed to be a value created by combining the current seed and this new value.

void Random::setSeedRandomly (  ) 

Reseeds this generator using a value generated from various semi-random system properties like the current time, etc.

Because this function convolves the time with the last seed value, calling it repeatedly will increase the randomness of the final result.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Mon Apr 26 11:42:16 2010 for JUCE by  doxygen 1.6.3