Software: Apache/2.0.54 (Fedora). PHP/5.0.4 uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/share/gtk-doc/html/glib/ drwxr-xr-x |
Viewing file: Select action/file-type:
Synopsis#include <glib.h> GRand; GRand* g_rand_new_with_seed (guint32 seed); GRand* g_rand_new_with_seed_array (const guint32 *seed, guint seed_length); GRand* g_rand_new (void); GRand* g_rand_copy (GRand *rand_); void g_rand_free (GRand *rand_); void g_rand_set_seed (GRand *rand_, guint32 seed); void g_rand_set_seed_array (GRand *rand_, const guint32 *seed, guint seed_length); #define g_rand_boolean (rand_) guint32 g_rand_int (GRand *rand_); gint32 g_rand_int_range (GRand *rand_, gint32 begin, gint32 end); gdouble g_rand_double (GRand *rand_); gdouble g_rand_double_range (GRand *rand_, gdouble begin, gdouble end); void g_random_set_seed (guint32 seed); #define g_random_boolean () guint32 g_random_int (void); gint32 g_random_int_range (gint32 begin, gint32 end); gdouble g_random_double (void); gdouble g_random_double_range (gdouble begin, gdouble end); DescriptionThe following functions allow you to use a portable, fast and good pseudo-random number generator (PRNG). It uses the Mersenne Twister PRNG, which was originally developed by Makoto Matsumoto and Takuji Nishimura. Further information can be found at www.math.keio.ac.jp/~matumoto/emt.html.
If you just need a random number, you simply call the
The
GLib changed the seeding algorithm for the pseudo-random number
generator Mersenne Twister, as used by GRand
and GRandom. This was necessary, because some
seeds would yield very bad pseudo-random streams. Also the
pseudo-random integers generated by
The original seeding and generation algorithms, as found in GLib 2.0.x,
can be used instead of the new ones by setting the environment variable
DetailsGRandtypedef struct _GRand GRand;
The GRand struct is an opaque data structure. It should only be
accessed through the g_rand_new_with_seed ()GRand* g_rand_new_with_seed (guint32 seed);
Creates a new random number generator initialized with
g_rand_new_with_seed_array ()GRand* g_rand_new_with_seed_array (const guint32 *seed, guint seed_length);
Creates a new random number generator initialized with
Since 2.4 g_rand_new ()GRand* g_rand_new (void);
Creates a new random number generator initialized with a seed taken
either from
g_rand_copy ()GRand* g_rand_copy (GRand *rand_); 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.
Since 2.4 g_rand_free ()void g_rand_free (GRand *rand_); Frees the memory allocated for the GRand.
g_rand_set_seed ()void g_rand_set_seed (GRand *rand_, guint32 seed);
Sets the seed for the random number generator GRand to
g_rand_set_seed_array ()void g_rand_set_seed_array (GRand *rand_, const guint32 *seed, guint seed_length); 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 32bits of actual entropy for your application.
Since 2.4 g_rand_boolean()#define g_rand_boolean(rand_)
Returns a random gboolean from g_rand_int ()guint32 g_rand_int (GRand *rand_);
Returns the next random guint32 from
g_rand_int_range ()gint32 g_rand_int_range (GRand *rand_, gint32 begin, gint32 end);
Returns the next random gint32 from
g_rand_double ()gdouble g_rand_double (GRand *rand_);
Returns the next random gdouble from
g_rand_double_range ()gdouble g_rand_double_range (GRand *rand_, gdouble begin, gdouble end);
Returns the next random gdouble from
g_random_set_seed ()void g_random_set_seed (guint32 seed);
Sets the seed for the global random number generator, which is used
by the
g_random_boolean()#define g_random_boolean() Returns a random gboolean. This corresponds to a unbiased coin toss.
g_random_int ()guint32 g_random_int (void); Return a random guint32 equally distributed over the range [0..2^32-1].
g_random_int_range ()gint32 g_random_int_range (gint32 begin, gint32 end);
Returns a random gint32 equally distributed over the range
[
g_random_double ()gdouble g_random_double (void); Returns a random gdouble equally distributed over the range [0..1).
|
:: Command execute :: | |
--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0036 ]-- |