This page is for an old version of Hexaly Optimizer. We recommend that you update your version and read the documentation for the latest stable release.

Random module

The random module contains basic functions to generate pseudorandom numbers. LSP uses the Mersenne Twister algorithm as its core generator. It has a long period of 2^19937 − 1.

Before using any of the methods below, you have to create a random instance with the create() function.

random.create()
random.create(seed)

Creates a new random generator with the given seed. The seed is optional. If seed is omitted, the current system time is used to initialize the generator.

Parameters:int (seed) – Seed to initialize the pseudorandom generator.
Return type:random
type random
init()
init(seed)

Re-initializes the random generator with the given seed or a new seed. The seed is optional. If seed is omitted, the current system time is used to initialize the generator.

next(b)
next(a, b)

Returns the next random integer N such that a <= N < b for a <= b and b < N <= a for b < a. The generated numbers are uniformly distributed between the open range induced by a and b.

Return type:int
nextUniform(min, max)

Returns the next floating point number N such that a <= N < b for a <= b and b < N <= a for b < a. The generated numbers are uniformly distributed between the open range induced by a and b.

This method generates floats with 52 bits of precision on the mantissa.

Return type:double
nextNormal()
nextNormal(mu, sigma)

Normal distribution.

Parameters:
  • mu (double) – Mean of the normal distribution
  • sigma (double) – Standard deviation.
nextLogNormal()
nextLogNormal(mu, sigma)

Log normal distribution.

Parameters:
  • mu (double) – Mean of the normal distribution
  • sigma (double) – Standard deviation. Must be greather than 0.