Struct

GLibRand

Description

struct GRand {
  /* No available fields */
}

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

Functions

g_rand_new

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).

g_rand_new_with_seed

Creates a new random number generator initialized with seed.

g_rand_new_with_seed_array

Creates a new random number generator initialized with seed.

Available since: 2.4

Instance methods

g_rand_copy

Copies a GRand into a new one with the same exact state as before. This way you can take a snapshot of the random number generator for replaying later.

Available since: 2.4

g_rand_double

Returns the next random #gdouble from rand_ equally distributed over the range [0..1).

g_rand_double_range

Returns the next random #gdouble from rand_ equally distributed over the range [begin..end).

g_rand_free

Frees the memory allocated for the GRand.

g_rand_int

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

g_rand_int_range

Returns the next random #gint32 from rand_ equally distributed over the range [begin..end-1].

g_rand_set_seed

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

g_rand_set_seed_array

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.

Available since: 2.4