+
Point of view
All features
deferred class RANDOM_NUMBER_GENERATOR
Summary
Common abstract definition of a random number generator. The Liberty Eiffel library provides two implementations: MINIMAL_RANDOM_NUMBER_GENERATOR, and PRESS_RANDOM_NUMBER_GENERATOR. Most applications can safely rely on MINIMAL_RANDOM_NUMBER_GENERATOR. If you really need high quality randomizing, consider PRESS_RANDOM_NUMBER_GENERATOR.
Direct parents
Insert list: ANY
Known children
Inherit list: MINIMAL_RANDOM_NUMBER_GENERATOR
Overview
Features
{ANY}
  • make
    Create (or reset) the random number generator with an automatic randomised setting of the seed_value based on the CPU clock.
  • with_seed (seed_value: INTEGER_32)
    Create (or reset) the random number generator with an explicit seed_value.
  • next
    Prepare the next random number in sequence.
  • last_real: REAL_64
    The last computed number in range 0.0 to 1.0 excluded (see ensure).
  • last_integer (n: INTEGER_32): INTEGER_32
    The last computed number in range 1 to n(see ensure).
{}
make
deferred procedure
{ANY}
Create (or reset) the random number generator with an automatic randomised setting of the seed_value based on the CPU clock.
with_seed (seed_value: INTEGER_32)
deferred procedure
{ANY}
Create (or reset) the random number generator with an explicit seed_value.
next
deferred procedure
{ANY}
Prepare the next random number in sequence.
last_real: REAL_64
deferred function
{ANY}
The last computed number in range 0.0 to 1.0 excluded (see ensure).
last_integer (n: INTEGER_32): INTEGER_32
deferred function
{ANY}
The last computed number in range 1 to n(see ensure).
clock_based_random_seed: INTEGER_32
effective function
{}
Some positive random value to be used as a seed which may change as much as possible in a random way.