RandG

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

Constructors

this
this(GRand* gRand, bool ownedRef)

Sets our main struct and passes it to the parent class.

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

this
this(uint seed)

Creates a new random number generator initialized with @seed.

this
this(uint[] seed)

Creates a new random number generator initialized with @seed.

Destructor

~this
~this()
Undocumented in source.

Members

Functions

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

free
void free()

Frees the memory allocated for the #GRand.

getRandGStruct
GRand* getRandGStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

intRange
int intRange(int begin, int end)

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

randDouble
double randDouble()

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

randInt
uint randInt()

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, uint seedLength)

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

randomDouble
double randomDouble()

Returns a random #gdouble equally distributed over the range [0..1).

randomDoubleRange
double randomDoubleRange(double begin, double end)

Returns a random #gdouble equally distributed over the range [@begin..@end).

randomInt
uint randomInt()

Return a random #guint32 equally distributed over the range [0..2^32-1].

randomIntRange
int randomIntRange(int begin, int end)

Returns a random #gint32 equally distributed over the range [@begin..@end-1].

randomSetSeed
void randomSetSeed(uint seed)

Sets the seed for the global random number generator, which is used by the g_random_* functions, to @seed.

Variables

gRand
GRand* gRand;

the main Gtk struct

ownedRef
bool ownedRef;
Undocumented in source.

Meta