|
Packit |
ae235b |
|
|
Packit |
ae235b |
<html>
|
|
Packit |
ae235b |
<head>
|
|
Packit |
ae235b |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
ae235b |
<title>Random Numbers: GLib Reference Manual</title>
|
|
Packit |
ae235b |
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
|
Packit |
ae235b |
<link rel="home" href="index.html" title="GLib Reference Manual">
|
|
Packit |
ae235b |
<link rel="up" href="glib-utilities.html" title="GLib Utilities">
|
|
Packit |
ae235b |
<link rel="prev" href="glib-GDateTime.html" title="GDateTime">
|
|
Packit |
ae235b |
<link rel="next" href="glib-Hook-Functions.html" title="Hook Functions">
|
|
Packit |
ae235b |
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
|
Packit |
ae235b |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
ae235b |
</head>
|
|
Packit |
ae235b |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Top |
|
|
Packit |
ae235b |
Description
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
![Home](home.png)
|
|
Packit |
ae235b |
![Up](up.png)
|
|
Packit |
ae235b |
![Prev](left.png)
|
|
Packit |
ae235b |
![Next](right.png)
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Random Numbers
|
|
Packit |
ae235b |
Random Numbers — pseudo-random number generator
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Functions
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_new_with_seed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_new_with_seed_array ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_new ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_copy ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_free ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_set_seed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_set_seed_array ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
#define
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_boolean()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
guint32
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_int ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gint32
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_int_range ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_double ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_double_range ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_set_seed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
#define
|
|
Packit |
ae235b |
g_random_boolean
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
guint32
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_int ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gint32
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_int_range ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_double ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_double_range ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Types and Values
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Includes
|
|
Packit |
ae235b |
#include <gmodule.h>
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Description
|
|
Packit |
ae235b |
The following functions allow you to use a portable, fast and good
|
|
Packit |
ae235b |
pseudo-random number generator (PRNG).
|
|
Packit |
ae235b |
Do not use this API for cryptographic purposes such as key
|
|
Packit |
ae235b |
generation, nonces, salts or one-time pads.
|
|
Packit |
ae235b |
This PRNG is suitable for non-cryptographic use such as in games
|
|
Packit |
ae235b |
(shuffling a card deck, generating levels), generating data for
|
|
Packit |
ae235b |
a test suite, etc. If you need random data for cryptographic
|
|
Packit |
ae235b |
purposes, it is recommended to use platform-specific APIs such
|
|
Packit |
ae235b |
as /dev/random on UNIX, or CryptGenRandom() on Windows.
|
|
Packit |
ae235b |
GRand uses the Mersenne Twister PRNG, which was originally
|
|
Packit |
ae235b |
developed by Makoto Matsumoto and Takuji Nishimura. Further
|
|
Packit |
ae235b |
information can be found at
|
|
Packit |
ae235b |
this page.
|
|
Packit |
ae235b |
If you just need a random number, you simply call the g_random_*
|
|
Packit |
ae235b |
functions, which will create a globally used GRand and use the
|
|
Packit |
ae235b |
according g_rand_* functions internally. Whenever you need a
|
|
Packit |
ae235b |
stream of reproducible random numbers, you better create a
|
|
Packit |
ae235b |
GRand yourself and use the g_rand_* functions directly, which
|
|
Packit |
ae235b |
will also be slightly faster. Initializing a GRand with a
|
|
Packit |
ae235b |
certain seed will produce exactly the same series of random
|
|
Packit |
ae235b |
numbers on all platforms. This can thus be used as a seed for
|
|
Packit |
ae235b |
e.g. games.
|
|
Packit |
ae235b |
The g_rand*_range functions will return high quality equally
|
|
Packit |
ae235b |
distributed random numbers, whereas for example the
|
|
Packit |
ae235b |
(g_random_int() %max) approach often
|
|
Packit |
ae235b |
doesn't yield equally distributed numbers.
|
|
Packit |
ae235b |
GLib changed the seeding algorithm for the pseudo-random number
|
|
Packit |
ae235b |
generator Mersenne Twister, as used by GRand. This was necessary,
|
|
Packit |
ae235b |
because some seeds would yield very bad pseudo-random streams.
|
|
Packit |
ae235b |
Also the pseudo-random integers generated by g_rand*_int_range()
|
|
Packit |
ae235b |
will have a slightly better equal distribution with the new
|
|
Packit |
ae235b |
version of GLib.
|
|
Packit |
ae235b |
The original seeding and generation algorithms, as found in
|
|
Packit |
ae235b |
GLib 2.0.x, can be used instead of the new ones by setting the
|
|
Packit |
ae235b |
environment variable G_RANDOM_VERSION to the value of '2.0'.
|
|
Packit |
ae235b |
Use the GLib-2.0 algorithms only if you have sequences of numbers
|
|
Packit |
ae235b |
generated with Glib-2.0 that you need to reproduce exactly.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Functions
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_new_with_seed ()
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
g_rand_new_with_seed (guint32 seed );
|
|
Packit |
ae235b |
Creates a new random number generator initialized with seed
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed
|
|
Packit |
ae235b |
a value to initialize the random number generator
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
the new GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_new_with_seed_array ()
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
g_rand_new_with_seed_array (const guint32 *seed ,
|
|
Packit |
ae235b |
guint seed_length );
|
|
Packit |
ae235b |
Creates a new random number generator initialized with seed
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed
|
|
Packit |
ae235b |
an array of seeds to initialize the random number generator
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed_length
|
|
Packit |
ae235b |
an array of seeds to initialize the random number
|
|
Packit |
ae235b |
generator
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
the new GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.4
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_new ()
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
g_rand_new (void );
|
|
Packit |
ae235b |
Creates a new random number generator initialized with a seed taken
|
|
Packit |
ae235b |
either from /dev/urandom (if existing) or from the current time
|
|
Packit |
ae235b |
(as a fallback).
|
|
Packit |
ae235b |
On Windows, the seed is taken from rand_s() .
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
the new GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_copy ()
|
|
Packit |
ae235b |
GRand *
|
|
Packit |
ae235b |
g_rand_copy (GRand *rand_ );
|
|
Packit |
ae235b |
Copies a GRand into a new one with the same exact state as before.
|
|
Packit |
ae235b |
This way you can take a snapshot of the random number generator for
|
|
Packit |
ae235b |
replaying later.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
the new GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.4
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_free ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_rand_free (GRand *rand_ );
|
|
Packit |
ae235b |
Frees the memory allocated for the GRand.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_set_seed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_rand_set_seed (GRand *rand_ ,
|
|
Packit |
ae235b |
guint32 seed );
|
|
Packit |
ae235b |
Sets the seed for the random number generator GRand to seed
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed
|
|
Packit |
ae235b |
a value to reinitialize the random number generator
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_set_seed_array ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_rand_set_seed_array (GRand *rand_ ,
|
|
Packit |
ae235b |
const guint32 *seed ,
|
|
Packit |
ae235b |
guint seed_length );
|
|
Packit |
ae235b |
Initializes the random number generator by an array of longs.
|
|
Packit |
ae235b |
Array can be of arbitrary size, though only the first 624 values
|
|
Packit |
ae235b |
are taken. This function is useful if you have many low entropy
|
|
Packit |
ae235b |
seeds, or if you require more then 32 bits of actual entropy for
|
|
Packit |
ae235b |
your application.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed
|
|
Packit |
ae235b |
array to initialize with
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed_length
|
|
Packit |
ae235b |
length of array
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.4
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_boolean()
|
|
Packit |
ae235b |
#define g_rand_boolean(rand_)
|
|
Packit |
ae235b |
Returns a random gboolean from rand_
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
This corresponds to a unbiased coin toss.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random gboolean
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_int ()
|
|
Packit |
ae235b |
guint32
|
|
Packit |
ae235b |
g_rand_int (GRand *rand_ );
|
|
Packit |
ae235b |
Returns the next random guint32 from rand_
|
|
Packit |
ae235b |
equally distributed over
|
|
Packit |
ae235b |
the range [0..2^32-1].
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_int_range ()
|
|
Packit |
ae235b |
gint32
|
|
Packit |
ae235b |
g_rand_int_range (GRand *rand_ ,
|
|
Packit |
ae235b |
gint32 begin ,
|
|
Packit |
ae235b |
gint32 end );
|
|
Packit |
ae235b |
Returns the next random gint32 from rand_
|
|
Packit |
ae235b |
equally distributed over
|
|
Packit |
ae235b |
the range [begin
|
|
Packit |
ae235b |
..end
|
|
Packit |
ae235b |
-1].
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
begin
|
|
Packit |
ae235b |
lower closed bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
end
|
|
Packit |
ae235b |
upper open bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_double ()
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
g_rand_double (GRand *rand_ );
|
|
Packit |
ae235b |
Returns the next random gdouble from rand_
|
|
Packit |
ae235b |
equally distributed over
|
|
Packit |
ae235b |
the range [0..1).
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_rand_double_range ()
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
g_rand_double_range (GRand *rand_ ,
|
|
Packit |
ae235b |
gdouble begin ,
|
|
Packit |
ae235b |
gdouble end );
|
|
Packit |
ae235b |
Returns the next random gdouble from rand_
|
|
Packit |
ae235b |
equally distributed over
|
|
Packit |
ae235b |
the range [begin
|
|
Packit |
ae235b |
..end
|
|
Packit |
ae235b |
).
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
rand_
|
|
Packit |
ae235b |
a GRand
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
begin
|
|
Packit |
ae235b |
lower closed bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
end
|
|
Packit |
ae235b |
upper open bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_set_seed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_random_set_seed (guint32 seed );
|
|
Packit |
ae235b |
Sets the seed for the global random number generator, which is used
|
|
Packit |
ae235b |
by the g_random_* functions, to seed
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
seed
|
|
Packit |
ae235b |
a value to reinitialize the global random number generator
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_boolean
|
|
Packit |
ae235b |
#define g_random_boolean()
|
|
Packit |
ae235b |
Returns a random gboolean.
|
|
Packit |
ae235b |
This corresponds to a unbiased coin toss.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random gboolean
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_int ()
|
|
Packit |
ae235b |
guint32
|
|
Packit |
ae235b |
g_random_int (void );
|
|
Packit |
ae235b |
Return a random guint32 equally distributed over the range
|
|
Packit |
ae235b |
[0..2^32-1].
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_int_range ()
|
|
Packit |
ae235b |
gint32
|
|
Packit |
ae235b |
g_random_int_range (gint32 begin ,
|
|
Packit |
ae235b |
gint32 end );
|
|
Packit |
ae235b |
Returns a random gint32 equally distributed over the range
|
|
Packit |
ae235b |
[begin
|
|
Packit |
ae235b |
..end
|
|
Packit |
ae235b |
-1].
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
begin
|
|
Packit |
ae235b |
lower closed bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
end
|
|
Packit |
ae235b |
upper open bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_double ()
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
g_random_double (void );
|
|
Packit |
ae235b |
Returns a random gdouble equally distributed over the range [0..1).
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_random_double_range ()
|
|
Packit |
ae235b |
gdouble
|
|
Packit |
ae235b |
g_random_double_range (gdouble begin ,
|
|
Packit |
ae235b |
gdouble end );
|
|
Packit |
ae235b |
Returns a random gdouble equally distributed over the range
|
|
Packit |
ae235b |
[begin
|
|
Packit |
ae235b |
..end
|
|
Packit |
ae235b |
).
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
begin
|
|
Packit |
ae235b |
lower closed bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
end
|
|
Packit |
ae235b |
upper open bound of the interval
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a random number
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Types and Values
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GRand
|
|
Packit |
ae235b |
typedef struct _GRand GRand;
|
|
Packit |
ae235b |
The GRand struct is an opaque data structure. It should only be
|
|
Packit |
ae235b |
accessed through the g_rand_* functions.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Generated by GTK-Doc V1.27
|
|
Packit |
ae235b |
</body>
|
|
Packit |
ae235b |
</html>
|