Rand#

class Rand(**kwargs)#

The GRand struct is an opaque data structure. It should only be accessed through the ``g_rand_``* functions.

Constructors#

class Rand
classmethod new() Rand#

Creates a new random number generator initialized with a seed taken either from /dev/urandom (if existing) or from the current time (as a fallback).

On Windows, the seed is taken from rand_s().

classmethod new_with_seed(seed: int) Rand#

Creates a new random number generator initialized with seed.

Parameters:

seed – a value to initialize the random number generator

classmethod new_with_seed_array(seed: int, seed_length: int) Rand#

Creates a new random number generator initialized with seed.

Added in version 2.4.

Parameters:
  • seed – an array of seeds to initialize the random number generator

  • seed_length – an array of seeds to initialize the random number generator

Methods#

class Rand
double() float#

Returns the next random float from @``rand_`` equally distributed over the range [0..1).

double_range(begin: float, end: float) float#

Returns the next random float from @``rand_`` equally distributed over the range [begin..``end``).

Parameters:
  • begin – lower closed bound of the interval

  • end – upper open bound of the interval

free() None#

Frees the memory allocated for the Rand.

int() int#

Returns the next random guint32 from @``rand_`` equally distributed over the range [0..2^32-1].

int_range(begin: int, end: int) int#

Returns the next random int from @``rand_`` equally distributed over the range [begin..``end``-1].

Parameters:
  • begin – lower closed bound of the interval

  • end – upper open bound of the interval

set_seed(seed: int) None#

Sets the seed for the random number generator Rand to seed.

Parameters:

seed – a value to reinitialize the random number generator

set_seed_array(seed: int, seed_length: int) None#

Initializes the random number generator by an array of longs. Array can be of arbitrary size, though only the first 624 values are taken. This function is useful if you have many low entropy seeds, or if you require more then 32 bits of actual entropy for your application.

Added in version 2.4.

Parameters:
  • seed – array to initialize with

  • seed_length – length of array