| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Random Numbers</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> |
| <link rel="home" href="index.html" title="GLib Reference Manual"> |
| <link rel="up" href="glib-utilities.html" title="GLib Utilities"> |
| <link rel="prev" href="glib-Date-and-Time-Functions.html" title="Date and Time Functions"> |
| <link rel="next" href="glib-Hook-Functions.html" title="Hook Functions"> |
| <meta name="generator" content="GTK-Doc V1.14 (XML mode)"> |
| <link rel="stylesheet" href="style.css" type="text/css"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> |
| <tr valign="middle"> |
| <td><a accesskey="p" href="glib-Date-and-Time-Functions.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> |
| <td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
| <th width="100%" align="center">GLib Reference Manual</th> |
| <td><a accesskey="n" href="glib-Hook-Functions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> |
| </tr> |
| <tr><td colspan="5" class="shortcuts"> |
| <a href="#glib-Random-Numbers.synopsis" class="shortcut">Top</a> |
| | |
| <a href="#glib-Random-Numbers.description" class="shortcut">Description</a> |
| </td></tr> |
| </table> |
| <div class="refentry" title="Random Numbers"> |
| <a name="glib-Random-Numbers"></a><div class="titlepage"></div> |
| <div class="refnamediv"><table width="100%"><tr> |
| <td valign="top"> |
| <h2><span class="refentrytitle"><a name="glib-Random-Numbers.top_of_page"></a>Random Numbers</span></h2> |
| <p>Random Numbers — pseudo-random number generator</p> |
| </td> |
| <td valign="top" align="right"></td> |
| </tr></table></div> |
| <div class="refsynopsisdiv" title="Synopsis"> |
| <a name="glib-Random-Numbers.synopsis"></a><h2>Synopsis</h2> |
| <pre class="synopsis"> |
| #include <glib.h> |
| |
| <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand">GRand</a>; |
| <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* <a class="link" href="glib-Random-Numbers.html#g-rand-new-with-seed" title="g_rand_new_with_seed ()">g_rand_new_with_seed</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> seed</code></em>); |
| <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* <a class="link" href="glib-Random-Numbers.html#g-rand-new-with-seed-array" title="g_rand_new_with_seed_array ()">g_rand_new_with_seed_array</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> *seed</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> seed_length</code></em>); |
| <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* <a class="link" href="glib-Random-Numbers.html#g-rand-new" title="g_rand_new ()">g_rand_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* <a class="link" href="glib-Random-Numbers.html#g-rand-copy" title="g_rand_copy ()">g_rand_copy</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Random-Numbers.html#g-rand-free" title="g_rand_free ()">g_rand_free</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Random-Numbers.html#g-rand-set-seed" title="g_rand_set_seed ()">g_rand_set_seed</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> seed</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Random-Numbers.html#g-rand-set-seed-array" title="g_rand_set_seed_array ()">g_rand_set_seed_array</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> *seed</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> seed_length</code></em>); |
| #define <a class="link" href="glib-Random-Numbers.html#g-rand-boolean" title="g_rand_boolean()">g_rand_boolean</a> (rand_) |
| <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="glib-Random-Numbers.html#g-rand-int" title="g_rand_int ()">g_rand_int</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>); |
| <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> <a class="link" href="glib-Random-Numbers.html#g-rand-int-range" title="g_rand_int_range ()">g_rand_int_range</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> end</code></em>); |
| <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-Random-Numbers.html#g-rand-double" title="g_rand_double ()">g_rand_double</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>); |
| <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-Random-Numbers.html#g-rand-double-range" title="g_rand_double_range ()">g_rand_double_range</a> (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> end</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="glib-Random-Numbers.html#g-random-set-seed" title="g_random_set_seed ()">g_random_set_seed</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> seed</code></em>); |
| #define <a class="link" href="glib-Random-Numbers.html#g-random-boolean" title="g_random_boolean">g_random_boolean</a> |
| <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="glib-Random-Numbers.html#g-random-int" title="g_random_int ()">g_random_int</a> (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> <a class="link" href="glib-Random-Numbers.html#g-random-int-range" title="g_random_int_range ()">g_random_int_range</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> end</code></em>); |
| <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-Random-Numbers.html#g-random-double" title="g_random_double ()">g_random_double</a> (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-Random-Numbers.html#g-random-double-range" title="g_random_double_range ()">g_random_double_range</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> end</code></em>); |
| </pre> |
| </div> |
| <div class="refsect1" title="Description"> |
| <a name="glib-Random-Numbers.description"></a><h2>Description</h2> |
| <p> |
| The 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 |
| <a class="ulink" href="http://www.math.keio.ac.jp/~matumoto/emt.html" target="_top"> |
| www.math.keio.ac.jp/~matumoto/emt.html</a>. |
| </p> |
| <p> |
| If you just need a random number, you simply call the |
| <code class="function">g_random_*</code> functions, which will create a |
| globally used <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> and use the according |
| <code class="function">g_rand_*</code> functions internally. Whenever you |
| need a stream of reproducible random numbers, you better create a |
| <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> yourself and use the <code class="function">g_rand_*</code> functions |
| directly, which will also be slightly faster. Initializing a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> |
| with a certain seed will produce exactly the same series of random |
| numbers on all platforms. This can thus be used as a seed for e.g. |
| games. |
| </p> |
| <p> |
| The <code class="function">g_rand*_range</code> functions will return high |
| quality equally distributed random numbers, whereas for example the |
| <code class="literal">(<a class="link" href="glib-Random-Numbers.html#g-random-int" title="g_random_int ()"><code class="function">g_random_int()</code></a>%max)</code> approach often |
| doesn't yield equally distributed numbers. |
| </p> |
| <p> |
| GLib changed the seeding algorithm for the pseudo-random number |
| generator Mersenne Twister, as used by |
| <span class="structname">GRand</span> and <span class="structname">GRandom</span>. |
| This was necessary, because some seeds would yield very bad |
| pseudo-random streams. Also the pseudo-random integers generated by |
| <code class="function">g_rand*_int_range()</code> will have a slightly better |
| equal distribution with the new version of GLib. |
| </p> |
| <p> |
| 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 <code class="envar">G_RANDOM_VERSION</code> to the value of |
| '2.0'. Use the GLib-2.0 algorithms only if you have sequences of |
| numbers generated with Glib-2.0 that you need to reproduce exactly. |
| </p> |
| </div> |
| <div class="refsect1" title="Details"> |
| <a name="glib-Random-Numbers.details"></a><h2>Details</h2> |
| <div class="refsect2" title="GRand"> |
| <a name="GRand"></a><h3>GRand</h3> |
| <pre class="programlisting">typedef struct _GRand GRand;</pre> |
| <p> |
| The <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> struct is an opaque data structure. It should only be |
| accessed through the <code class="function">g_rand_*</code> functions. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_new_with_seed ()"> |
| <a name="g-rand-new-with-seed"></a><h3>g_rand_new_with_seed ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* g_rand_new_with_seed (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> seed</code></em>);</pre> |
| <p> |
| Creates a new random number generator initialized with <em class="parameter"><code>seed</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seed</code></em> :</span></p></td> |
| <td>a value to initialize the random number generator. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_new_with_seed_array ()"> |
| <a name="g-rand-new-with-seed-array"></a><h3>g_rand_new_with_seed_array ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* g_rand_new_with_seed_array (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> *seed</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> seed_length</code></em>);</pre> |
| <p> |
| Creates a new random number generator initialized with <em class="parameter"><code>seed</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seed</code></em> :</span></p></td> |
| <td>an array of seeds to initialize the random number generator. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seed_length</code></em> :</span></p></td> |
| <td>an array of seeds to initialize the random number generator. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 2.4</p> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_new ()"> |
| <a name="g-rand-new"></a><h3>g_rand_new ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* g_rand_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| Creates a new random number generator initialized with a seed taken |
| either from <code class="filename">/dev/urandom</code> (if existing) or from |
| the current time (as a fallback). |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_copy ()"> |
| <a name="g-rand-copy"></a><h3>g_rand_copy ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a>* g_rand_copy (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>);</pre> |
| <p> |
| Copies a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> 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. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 2.4</p> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_free ()"> |
| <a name="g-rand-free"></a><h3>g_rand_free ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_rand_free (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>);</pre> |
| <p> |
| Frees the memory allocated for the <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_set_seed ()"> |
| <a name="g-rand-set-seed"></a><h3>g_rand_set_seed ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_rand_set_seed (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> seed</code></em>);</pre> |
| <p> |
| Sets the seed for the random number generator <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> to <em class="parameter"><code>seed</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seed</code></em> :</span></p></td> |
| <td>a value to reinitialize the random number generator. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_set_seed_array ()"> |
| <a name="g-rand-set-seed-array"></a><h3>g_rand_set_seed_array ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_rand_set_seed_array (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> *seed</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> seed_length</code></em>);</pre> |
| <p> |
| 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. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seed</code></em> :</span></p></td> |
| <td>array to initialize with |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seed_length</code></em> :</span></p></td> |
| <td>length of array |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 2.4</p> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_boolean()"> |
| <a name="g-rand-boolean"></a><h3>g_rand_boolean()</h3> |
| <pre class="programlisting">#define g_rand_boolean(rand_)</pre> |
| <p> |
| Returns a random <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> from <em class="parameter"><code>rand_</code></em>. This corresponds to a |
| unbiased coin toss. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a random <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a>. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_int ()"> |
| <a name="g-rand-int"></a><h3>g_rand_int ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> g_rand_int (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>);</pre> |
| <p> |
| Returns the next random <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> from <em class="parameter"><code>rand_</code></em> equally distributed over |
| the range [0..2^32-1]. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_int_range ()"> |
| <a name="g-rand-int-range"></a><h3>g_rand_int_range ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> g_rand_int_range (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> end</code></em>);</pre> |
| <p> |
| Returns the next random <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> from <em class="parameter"><code>rand_</code></em> equally distributed over |
| the range [<em class="parameter"><code>begin</code></em>..<em class="parameter"><code>end</code></em>-1]. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td> |
| <td>lower closed bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td> |
| <td>upper open bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_double ()"> |
| <a name="g-rand-double"></a><h3>g_rand_double ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_rand_double (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>);</pre> |
| <p> |
| Returns the next random <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> from <em class="parameter"><code>rand_</code></em> equally distributed over |
| the range [0..1). |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_rand_double_range ()"> |
| <a name="g-rand-double-range"></a><h3>g_rand_double_range ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_rand_double_range (<em class="parameter"><code><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a> *rand_</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> end</code></em>);</pre> |
| <p> |
| Returns the next random <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> from <em class="parameter"><code>rand_</code></em> equally distributed over |
| the range [<em class="parameter"><code>begin</code></em>..<em class="parameter"><code>end</code></em>). |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rand_</code></em> :</span></p></td> |
| <td>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td> |
| <td>lower closed bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td> |
| <td>upper open bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_random_set_seed ()"> |
| <a name="g-random-set-seed"></a><h3>g_random_set_seed ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> g_random_set_seed (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> seed</code></em>);</pre> |
| <p> |
| Sets the seed for the global random number generator, which is used |
| by the <code class="function">g_random_*</code> functions, to <em class="parameter"><code>seed</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>seed</code></em> :</span></p></td> |
| <td>a value to reinitialize the global random number generator. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_random_boolean"> |
| <a name="g-random-boolean"></a><h3>g_random_boolean</h3> |
| <pre class="programlisting">#define g_random_boolean()</pre> |
| <p> |
| Returns a random <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a>. This corresponds to a unbiased coin toss. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a random <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a>. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_random_int ()"> |
| <a name="g-random-int"></a><h3>g_random_int ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> g_random_int (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| Return a random <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> equally distributed over the range |
| [0..2^32-1]. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_random_int_range ()"> |
| <a name="g-random-int-range"></a><h3>g_random_int_range ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> g_random_int_range (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> end</code></em>);</pre> |
| <p> |
| Returns a random <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> equally distributed over the range |
| [<em class="parameter"><code>begin</code></em>..<em class="parameter"><code>end</code></em>-1]. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td> |
| <td>lower closed bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td> |
| <td>upper open bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_random_double ()"> |
| <a name="g-random-double"></a><h3>g_random_double ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_random_double (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| Returns a random <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> equally distributed over the range [0..1). |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2" title="g_random_double_range ()"> |
| <a name="g-random-double-range"></a><h3>g_random_double_range ()</h3> |
| <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_random_double_range (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> begin</code></em>, |
| <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> end</code></em>);</pre> |
| <p> |
| Returns a random <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> equally distributed over the range [<em class="parameter"><code>begin</code></em>..<em class="parameter"><code>end</code></em>). |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>begin</code></em> :</span></p></td> |
| <td>lower closed bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td> |
| <td>upper open bound of the interval. |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> A random number. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| </div> |
| </div> |
| <div class="footer"> |
| <hr> |
| Generated by GTK-Doc V1.14</div> |
| </body> |
| </html> |