A random number generator.
You can create a Random object and use it to generate a sequence of random numbers.
| Public Member Functions | |
| Random (int64 seedValue) noexcept | |
| Creates a Random object based on a seed value. | |
| Random () | |
| Creates a Random object using a random seed value. | |
| int | nextInt () noexcept | 
| Returns the next random 32 bit integer. | |
| int | nextInt (int maxValue) noexcept | 
| Returns the next random number, limited to a given range. | |
| int | nextInt (Range< int > range) noexcept | 
| Returns the next random number, limited to a given range. | |
| int64 | nextInt64 () noexcept | 
| Returns the next 64-bit random number. | |
| float | nextFloat () noexcept | 
| Returns the next random floating-point number. | |
| double | nextDouble () noexcept | 
| Returns the next random floating-point number. | |
| bool | nextBool () noexcept | 
| Returns the next random boolean value. | |
| BigInteger | nextLargeNumber (const BigInteger &maximumValue) | 
| Returns a BigInteger containing a random number. | |
| void | fillBitsRandomly (void *bufferToFill, size_t sizeInBytes) | 
| Fills a block of memory with random values. | |
| void | fillBitsRandomly (BigInteger &arrayToChange, int startBit, int numBits) | 
| Sets a range of bits in a BigInteger to random values. | |
| void | setSeed (int64 newSeed) noexcept | 
| Resets this Random object to a given seed value. | |
| int64 | getSeed () const noexcept | 
| Returns the RNG's current seed. | |
| void | combineSeed (int64 seedValue) noexcept | 
| 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 Random & | getSystemRandom () noexcept | 
| The overhead of creating a new Random object is fairly small, but if you want to avoid it, you can call this method to get a global shared Random object. | |
| 
 | explicitnoexcept | 
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())
Referenced by getSystemRandom().
| juce::Random::Random | ( | ) | 
Creates a Random object using a random seed value.
Internally, this calls setSeedRandomly() to randomise the seed.
| 
 | noexcept | 
Returns the next random 32 bit integer.
Referenced by juce::midi_ci::DeviceOptions::makeProductInstanceId(), juce::midi_ci::MUID::makeRandom(), nextInt(), and nextInt().
| 
 | noexcept | 
Returns the next random number, limited to a given range.
The maxValue parameter may not be negative, or zero.
References nextInt().
| 
 | noexcept | 
Returns the next random number, limited to a given range.
References nextInt().
| 
 | noexcept | 
Returns the next 64-bit random number.
References nextInt64().
Referenced by nextInt64().
| 
 | noexcept | 
Returns the next random floating-point number.
References nextFloat().
Referenced by nextFloat().
| 
 | noexcept | 
Returns the next random floating-point number.
References nextDouble().
Referenced by nextDouble().
| 
 | noexcept | 
| BigInteger juce::Random::nextLargeNumber | ( | const BigInteger & | maximumValue | ) | 
Returns a BigInteger containing a random number.
References nextLargeNumber().
Referenced by nextLargeNumber().
| void juce::Random::fillBitsRandomly | ( | void * | bufferToFill, | 
| size_t | sizeInBytes ) | 
Fills a block of memory with random values.
References fillBitsRandomly().
Referenced by fillBitsRandomly(), and fillBitsRandomly().
| void juce::Random::fillBitsRandomly | ( | BigInteger & | arrayToChange, | 
| int | startBit, | ||
| int | numBits ) | 
Sets a range of bits in a BigInteger to random values.
References fillBitsRandomly().
| 
 | noexcept | 
| 
 | inlinenoexcept | 
| 
 | noexcept | 
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 juce::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.
| 
 | staticnoexcept | 
The overhead of creating a new Random object is fairly small, but if you want to avoid it, you can call this method to get a global shared Random object.
Note this will return a different object per thread it's accessed from, making it thread safe. However, it's therefore important not store a reference to this object that will later be accessed from other threads.
References Random().