⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.10
Server IP:
157.245.101.34
Server:
Linux skvinfotech-website 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64
Server Software:
Apache/2.4.41 (Ubuntu)
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
libglib2.0-doc
/
glib
/
View File Name :
glib-Random-Numbers.html
<!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: GLib Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <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-GDateTime.html" title="GDateTime"> <link rel="next" href="glib-Hook-Functions.html" title="Hook Functions"> <meta name="generator" content="GTK-Doc V1.32 (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="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#glib-Random-Numbers.description" class="shortcut">Description</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="glib-GDateTime.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="glib-Hook-Functions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <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 class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="glib-Random-Numbers.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_proto_type"> <col class="functions_proto_name"> </colgroup> <tbody> <tr> <td class="function_type"> <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a> * </td> <td class="function_name"> <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> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a> * </td> <td class="function_name"> <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> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a> * </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-new" title="g_rand_new ()">g_rand_new</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="returnvalue">GRand</span></a> * </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-copy" title="g_rand_copy ()">g_rand_copy</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-free" title="g_rand_free ()">g_rand_free</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-set-seed" title="g_rand_set_seed ()">g_rand_set_seed</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <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> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-boolean" title="g_rand_boolean()">g_rand_boolean</a><span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-int" title="g_rand_int ()">g_rand_int</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-int-range" title="g_rand_int_range ()">g_rand_int_range</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-double" title="g_rand_double ()">g_rand_double</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-rand-double-range" title="g_rand_double_range ()">g_rand_double_range</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-random-set-seed" title="g_random_set_seed ()">g_random_set_seed</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="glib-Random-Numbers.html#g-random-boolean" title="g_random_boolean">g_random_boolean</a></td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-random-int" title="g_random_int ()">g_random_int</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-random-int-range" title="g_random_int_range ()">g_random_int_range</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-random-double" title="g_random_double ()">g_random_double</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> </td> <td class="function_name"> <a class="link" href="glib-Random-Numbers.html#g-random-double-range" title="g_random_double_range ()">g_random_double_range</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="glib-Random-Numbers.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="other_proto_type"> <col class="other_proto_name"> </colgroup> <tbody><tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="glib-Random-Numbers.html#GRand" title="GRand">GRand</a></td> </tr></tbody> </table></div> </div> <div class="refsect1"> <a name="glib-Random-Numbers.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <gmodule.h> </pre> </div> <div class="refsect1"> <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).</p> <p>Do not use this API for cryptographic purposes such as key generation, nonces, salts or one-time pads.</p> <p>This PRNG is suitable for non-cryptographic use such as in games (shuffling a card deck, generating levels), generating data for a test suite, etc. If you need random data for cryptographic purposes, it is recommended to use platform-specific APIs such as <code class="literal">/dev/random</code> on UNIX, or <code class="function">CryptGenRandom()</code> on Windows.</p> <p>GRand 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.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html" target="_top">this page</a>.</p> <p>If you just need a random number, you simply call the g_random_* 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 g_rand_* 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 g_rand_* 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 g_rand*_range 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 <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a>. This was necessary, because some seeds would yield very bad pseudo-random streams. Also the pseudo-random integers generated by g_rand*_int_range() 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="literal">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"> <a name="glib-Random-Numbers.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <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="refsect3"> <a name="g-rand-new-with-seed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>seed</p></td> <td class="parameter_description"><p>a value to initialize the random number generator</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-new-with-seed.returns"></a><h4>Returns</h4> <p> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-new-with-seed-array.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>seed</p></td> <td class="parameter_description"><p>an array of seeds to initialize the random number generator</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>seed_length</p></td> <td class="parameter_description"><p>an array of seeds to initialize the random number generator</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-new-with-seed-array.returns"></a><h4>Returns</h4> <p> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p> </div> <p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p> </div> <hr> <div class="refsect2"> <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="literal">/dev/urandom</code> (if existing) or from the current time (as a fallback).</p> <p>On Windows, the seed is taken from <code class="function">rand_s()</code>.</p> <div class="refsect3"> <a name="g-rand-new.returns"></a><h4>Returns</h4> <p> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-copy.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-copy.returns"></a><h4>Returns</h4> <p> the new <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p> </div> <p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-free.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-set-seed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>seed</p></td> <td class="parameter_description"><p>a value to reinitialize the random number generator</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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 32 bits of actual entropy for your application.</p> <div class="refsect3"> <a name="g-rand-set-seed-array.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>seed</p></td> <td class="parameter_description"><p>array to initialize with</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>seed_length</p></td> <td class="parameter_description"><p>length of array</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p> </div> <hr> <div class="refsect2"> <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 an unbiased coin toss.</p> <div class="refsect3"> <a name="g-rand-boolean.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-boolean.returns"></a><h4>Returns</h4> <p> a random <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a></p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-int.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-int.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-int-range.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>begin</p></td> <td class="parameter_description"><p>lower closed bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>end</p></td> <td class="parameter_description"><p>upper open bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-int-range.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-double.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-double.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-rand-double-range.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>rand_</p></td> <td class="parameter_description"><p>a <a class="link" href="glib-Random-Numbers.html#GRand" title="GRand"><span class="type">GRand</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>begin</p></td> <td class="parameter_description"><p>lower closed bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>end</p></td> <td class="parameter_description"><p>upper open bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-rand-double-range.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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 g_random_* functions, to <em class="parameter"><code>seed</code></em> .</p> <div class="refsect3"> <a name="g-random-set-seed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>seed</p></td> <td class="parameter_description"><p>a value to reinitialize the global random number generator</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <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 an unbiased coin toss.</p> <div class="refsect3"> <a name="g-random-boolean.returns"></a><h4>Returns</h4> <p> a random <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a></p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-random-int.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-random-int-range.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>begin</p></td> <td class="parameter_description"><p>lower closed bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>end</p></td> <td class="parameter_description"><p>upper open bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-random-int-range.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-random-double.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> <hr> <div class="refsect2"> <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="refsect3"> <a name="g-random-double-range.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>begin</p></td> <td class="parameter_description"><p>lower closed bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>end</p></td> <td class="parameter_description"><p>upper open bound of the interval</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-random-double-range.returns"></a><h4>Returns</h4> <p> a random number</p> </div> </div> </div> <div class="refsect1"> <a name="glib-Random-Numbers.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GRand"></a><h3>GRand</h3> <pre class="programlisting">typedef struct _GRand GRand;</pre> <p>The GRand struct is an opaque data structure. It should only be accessed through the g_rand_* functions.</p> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>