Rand

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

Constructors

this
this()

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

Members

Functions

copy
glib.rand.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.

doubleRange
double doubleRange(double begin, double end)

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

double_
double double_()

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

intRange
int intRange(int begin, int end)

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

int_
uint int_()

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

setSeed
void setSeed(uint seed)

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

setSeedArray
void setSeedArray(uint[] seed)

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.

Static functions

newWithSeed
glib.rand.Rand newWithSeed(uint seed)

Creates a new random number generator initialized with seed.

newWithSeedArray
glib.rand.Rand newWithSeedArray(uint[] seed)

Creates a new random number generator initialized with seed.

Inherited Members

From Boxed

cInstancePtr
void* cInstancePtr;

Pointer to the C boxed value

getType
GType getType()

Get the GType of this boxed type.

gType
GType gType [@property getter]

Boxed GType property.

self
Boxed self()

Convenience method to return this cast to a type. For use in D with statements.

copy_
void* copy_()

Make a copy of the wrapped C boxed data.

boxedCopy
void* boxedCopy(void* cBoxed)

Copy a C boxed value using g_boxed_copy.

boxedFree
void boxedFree(void* cBoxed)

Free a C boxed value using g_boxed_free.