summaryrefslogtreecommitdiff
path: root/SFMT/html/_s_f_m_t_8h.html
diff options
context:
space:
mode:
Diffstat (limited to 'SFMT/html/_s_f_m_t_8h.html')
-rw-r--r--SFMT/html/_s_f_m_t_8h.html848
1 files changed, 848 insertions, 0 deletions
diff --git a/SFMT/html/_s_f_m_t_8h.html b/SFMT/html/_s_f_m_t_8h.html
new file mode 100644
index 0000000..86e5740
--- /dev/null
+++ b/SFMT/html/_s_f_m_t_8h.html
@@ -0,0 +1,848 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>SFMT: SFMT.h File Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">SFMT
+ &#160;<span id="projectnumber">1.4</span>
+ </div>
+
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.8.0 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">SFMT.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SIMD oriented Fast Mersenne Twister(SFMT) pseudorandom number generator using C structure.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
+<code>#include &lt;assert.h&gt;</code><br/>
+<code>#include &lt;inttypes.h&gt;</code><br/>
+<code>#include &quot;SFMT-params.h&quot;</code><br/>
+</div>
+<p><a href="_s_f_m_t_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="union_w128___t.html">W128_T</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">128-bit data structure <a href="union_w128___t.html#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_s_f_m_t___t.html">SFMT_T</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">SFMT internal state. <a href="struct_s_f_m_t___t.html#details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr class="memitem:ac582131d7a7c8ee57e73180d1714f9d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#ac582131d7a7c8ee57e73180d1714f9d5">PRIu64</a>&#160;&#160;&#160;&quot;llu&quot;</td></tr>
+<tr class="memitem:aba38357387a474f439428dee1984fc5a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#aba38357387a474f439428dee1984fc5a">PRIx64</a>&#160;&#160;&#160;&quot;llx&quot;</td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ab1ee414cba9ca0f33a3716e7a92c2b79"><td class="memItemLeft" align="right" valign="top">typedef union <a class="el" href="union_w128___t.html">W128_T</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#ab1ee414cba9ca0f33a3716e7a92c2b79">w128_t</a></td></tr>
+<tr class="memdesc:ab1ee414cba9ca0f33a3716e7a92c2b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">128-bit data type <a href="#ab1ee414cba9ca0f33a3716e7a92c2b79"></a><br/></td></tr>
+<tr class="memitem:a786e4a6ba82d3cb2f62241d6351d973f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_s_f_m_t___t.html">SFMT_T</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a04f57c1e9a6b5c0c52ac774a50da6c7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a04f57c1e9a6b5c0c52ac774a50da6c7e">sfmt_fill_array32</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt, uint32_t *array, int size)</td></tr>
+<tr class="memdesc:a04f57c1e9a6b5c0c52ac774a50da6c7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates pseudorandom 32-bit integers in the specified array[] by one call. <a href="#a04f57c1e9a6b5c0c52ac774a50da6c7e"></a><br/></td></tr>
+<tr class="memitem:ab9d6542bb167426bd35591afd32136af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#ab9d6542bb167426bd35591afd32136af">sfmt_fill_array64</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt, uint64_t *array, int size)</td></tr>
+<tr class="memdesc:ab9d6542bb167426bd35591afd32136af"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates pseudorandom 64-bit integers in the specified array[] by one call. <a href="#ab9d6542bb167426bd35591afd32136af"></a><br/></td></tr>
+<tr class="memitem:a674d820db863265836ef9cb203aa4130"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a674d820db863265836ef9cb203aa4130">sfmt_init_gen_rand</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt, uint32_t seed)</td></tr>
+<tr class="memdesc:a674d820db863265836ef9cb203aa4130"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the internal state array with a 32-bit integer seed. <a href="#a674d820db863265836ef9cb203aa4130"></a><br/></td></tr>
+<tr class="memitem:a28f357a6d2a9cd74cec3c9d458e58475"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a28f357a6d2a9cd74cec3c9d458e58475">sfmt_init_by_array</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt, uint32_t *init_key, int key_length)</td></tr>
+<tr class="memdesc:a28f357a6d2a9cd74cec3c9d458e58475"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the internal state array, with an array of 32-bit integers used as the seeds. <a href="#a28f357a6d2a9cd74cec3c9d458e58475"></a><br/></td></tr>
+<tr class="memitem:a6454ae6ac89dbaa2fd5db79be99dd408"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a6454ae6ac89dbaa2fd5db79be99dd408">sfmt_get_idstring</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a6454ae6ac89dbaa2fd5db79be99dd408"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the identification string. <a href="#a6454ae6ac89dbaa2fd5db79be99dd408"></a><br/></td></tr>
+<tr class="memitem:a4a0698581c5ce4fdb269f814fd438a5f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a4a0698581c5ce4fdb269f814fd438a5f">sfmt_get_min_array_size32</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a4a0698581c5ce4fdb269f814fd438a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the minimum size of array used for <b>fill_array32()</b> function. <a href="#a4a0698581c5ce4fdb269f814fd438a5f"></a><br/></td></tr>
+<tr class="memitem:a22ebb5ab2cf7e28d2bcf21ffffcc7e39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a22ebb5ab2cf7e28d2bcf21ffffcc7e39">sfmt_get_min_array_size64</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a22ebb5ab2cf7e28d2bcf21ffffcc7e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the minimum size of array used for <b>fill_array64()</b> function. <a href="#a22ebb5ab2cf7e28d2bcf21ffffcc7e39"></a><br/></td></tr>
+<tr class="memitem:a2224d63688cbf9b1f50c01d5d9bb7f29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a2224d63688cbf9b1f50c01d5d9bb7f29">sfmt_gen_rand_all</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a2224d63688cbf9b1f50c01d5d9bb7f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function fills the internal state array with pseudorandom integers. <a href="#a2224d63688cbf9b1f50c01d5d9bb7f29"></a><br/></td></tr>
+<tr class="memitem:a320ad3d4b201c8b5525871b5d4c9d110"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a320ad3d4b201c8b5525871b5d4c9d110"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates and returns 32-bit pseudorandom number. <a href="#a320ad3d4b201c8b5525871b5d4c9d110"></a><br/></td></tr>
+<tr class="memitem:ae99df9ac1b48be1370492d448504b717"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#ae99df9ac1b48be1370492d448504b717">sfmt_genrand_uint64</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:ae99df9ac1b48be1370492d448504b717"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates and returns 64-bit pseudorandom number. <a href="#ae99df9ac1b48be1370492d448504b717"></a><br/></td></tr>
+<tr class="memitem:a29ed9f4537b9e617737dc32585636000"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a29ed9f4537b9e617737dc32585636000">sfmt_to_real1</a> (uint32_t v)</td></tr>
+<tr class="memdesc:a29ed9f4537b9e617737dc32585636000"><td class="mdescLeft">&#160;</td><td class="mdescRight">converts an unsigned 32-bit number to a double on [0,1]-real-interval. <a href="#a29ed9f4537b9e617737dc32585636000"></a><br/></td></tr>
+<tr class="memitem:ac8f1ec46b29372bbd2dd311ce2887ebf"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#ac8f1ec46b29372bbd2dd311ce2887ebf">sfmt_genrand_real1</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:ac8f1ec46b29372bbd2dd311ce2887ebf"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a random number on [0,1]-real-interval <a href="#ac8f1ec46b29372bbd2dd311ce2887ebf"></a><br/></td></tr>
+<tr class="memitem:a4caa47d7e18ec69f30a56f9390fda3e7"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a4caa47d7e18ec69f30a56f9390fda3e7">sfmt_to_real2</a> (uint32_t v)</td></tr>
+<tr class="memdesc:a4caa47d7e18ec69f30a56f9390fda3e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">converts an unsigned 32-bit integer to a double on [0,1)-real-interval. <a href="#a4caa47d7e18ec69f30a56f9390fda3e7"></a><br/></td></tr>
+<tr class="memitem:a3e68d5e08ce1841614dbd93cc4cfa251"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a3e68d5e08ce1841614dbd93cc4cfa251">sfmt_genrand_real2</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a3e68d5e08ce1841614dbd93cc4cfa251"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a random number on [0,1)-real-interval <a href="#a3e68d5e08ce1841614dbd93cc4cfa251"></a><br/></td></tr>
+<tr class="memitem:a48d93f237f52b2a149ab0d683527aa9c"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a48d93f237f52b2a149ab0d683527aa9c">sfmt_to_real3</a> (uint32_t v)</td></tr>
+<tr class="memdesc:a48d93f237f52b2a149ab0d683527aa9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">converts an unsigned 32-bit integer to a double on (0,1)-real-interval. <a href="#a48d93f237f52b2a149ab0d683527aa9c"></a><br/></td></tr>
+<tr class="memitem:a89e02c7333287e1ca650c38983ab6dae"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a89e02c7333287e1ca650c38983ab6dae">sfmt_genrand_real3</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a89e02c7333287e1ca650c38983ab6dae"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a random number on (0,1)-real-interval <a href="#a89e02c7333287e1ca650c38983ab6dae"></a><br/></td></tr>
+<tr class="memitem:abd5780d6ef5e9836a63e555e9f7da940"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#abd5780d6ef5e9836a63e555e9f7da940">sfmt_to_res53</a> (uint64_t v)</td></tr>
+<tr class="memdesc:abd5780d6ef5e9836a63e555e9f7da940"><td class="mdescLeft">&#160;</td><td class="mdescRight">converts an unsigned 32-bit integer to double on [0,1) with 53-bit resolution. <a href="#abd5780d6ef5e9836a63e555e9f7da940"></a><br/></td></tr>
+<tr class="memitem:aa5b6472af111363e237ae022f6a9ef48"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#aa5b6472af111363e237ae022f6a9ef48">sfmt_genrand_res53</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:aa5b6472af111363e237ae022f6a9ef48"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a random number on [0,1) with 53-bit resolution <a href="#aa5b6472af111363e237ae022f6a9ef48"></a><br/></td></tr>
+<tr class="memitem:a686d9c9d19ba29e0890abd2127f46339"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a686d9c9d19ba29e0890abd2127f46339">sfmt_to_res53_mix</a> (uint32_t x, uint32_t y)</td></tr>
+<tr class="memdesc:a686d9c9d19ba29e0890abd2127f46339"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a random number on [0,1) with 53-bit resolution from two 32 bit integers <a href="#a686d9c9d19ba29e0890abd2127f46339"></a><br/></td></tr>
+<tr class="memitem:a6b92b2435f0182f5fa19f94bb7986d74"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#a6b92b2435f0182f5fa19f94bb7986d74">sfmt_genrand_res53_mix</a> (<a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *sfmt)</td></tr>
+<tr class="memdesc:a6b92b2435f0182f5fa19f94bb7986d74"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a random number on [0,1) with 53-bit resolution using two 32bit integers. <a href="#a6b92b2435f0182f5fa19f94bb7986d74"></a><br/></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>SIMD oriented Fast Mersenne Twister(SFMT) pseudorandom number generator using C structure. </p>
+<dl class="section author"><dt>Author:</dt><dd>Mutsuo Saito (Hiroshima University) </dd>
+<dd>
+Makoto Matsumoto (The University of Tokyo)</dd></dl>
+<p>Copyright (C) 2006, 2007 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. Copyright (C) 2012 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and The University of Tokyo. All rights reserved.</p>
+<p>The 3-clause BSD License is applied to this software, see LICENSE.txt</p>
+<dl class="section note"><dt>Note:</dt><dd>We assume that your system has inttypes.h. If your system doesn't have inttypes.h, you have to typedef uint32_t and uint64_t, and you have to define PRIu64 and PRIx64 in this file as follows: <div class="fragment"><pre class="fragment"> typedef unsigned int uint32_t
+ typedef unsigned long long uint64_t
+ #define PRIu64 "llu"
+ #define PRIx64 "llx"
+</pre></div> uint32_t must be exactly 32-bit unsigned integer type (no more, no less), and uint64_t must be exactly 64-bit unsigned integer type. PRIu64 and PRIx64 are used for printf function to print 64-bit unsigned int and 64-bit unsigned int in hexadecimal format. </dd></dl>
+</div><hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ac582131d7a7c8ee57e73180d1714f9d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define <a class="el" href="_s_f_m_t_8h.html#ac582131d7a7c8ee57e73180d1714f9d5">PRIu64</a>&#160;&#160;&#160;&quot;llu&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aba38357387a474f439428dee1984fc5a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define <a class="el" href="_s_f_m_t_8h.html#aba38357387a474f439428dee1984fc5a">PRIx64</a>&#160;&#160;&#160;&quot;llx&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a786e4a6ba82d3cb2f62241d6351d973f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct_s_f_m_t___t.html">SFMT_T</a> <a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab1ee414cba9ca0f33a3716e7a92c2b79"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef union <a class="el" href="union_w128___t.html">W128_T</a> <a class="el" href="_s_f_m_t_8h.html#ab1ee414cba9ca0f33a3716e7a92c2b79">w128_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>128-bit data type </p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a04f57c1e9a6b5c0c52ac774a50da6c7e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="_s_f_m_t_8c.html#a04f57c1e9a6b5c0c52ac774a50da6c7e">sfmt_fill_array32</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t *&#160;</td>
+ <td class="paramname"><em>array</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function generates pseudorandom 32-bit integers in the specified array[] by one call. </p>
+<p>The number of pseudorandom integers is specified by the argument size, which must be at least 624 and a multiple of four. The generation by this function is much faster than the following gen_rand function.</p>
+<p>For initialization, init_gen_rand or init_by_array must be called before the first call of this function. This function can not be used after calling gen_rand function, without initialization.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ <tr><td class="paramname">array</td><td>an array where pseudorandom 32-bit integers are filled by this function. The pointer to the array must be <b>"aligned"</b> (namely, must be a multiple of 16) in the SIMD version, since it refers to the address of a 128-bit integer. In the standard C version, the pointer is arbitrary.</td></tr>
+ <tr><td class="paramname">size</td><td>the number of 32-bit pseudorandom integers to be generated. size must be a multiple of 4, and greater than or equal to (MEXP / 128 + 1) * 4.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note:</dt><dd><b>memalign</b> or <b>posix_memalign</b> is available to get aligned memory. Mac OSX doesn't have these functions, but <b>malloc</b> of OSX returns the pointer to the aligned memory block. </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8c.html#a6bc561a0aa50307534d7e6dd93311d4f">gen_rand_array()</a>, and <a class="el" href="struct_s_f_m_t___t.html#adff6ae93dbd68c2f74a96b99367aba24">SFMT_T::idx</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab9d6542bb167426bd35591afd32136af"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="_s_f_m_t_8c.html#ab9d6542bb167426bd35591afd32136af">sfmt_fill_array64</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint64_t *&#160;</td>
+ <td class="paramname"><em>array</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function generates pseudorandom 64-bit integers in the specified array[] by one call. </p>
+<p>The number of pseudorandom integers is specified by the argument size, which must be at least 312 and a multiple of two. The generation by this function is much faster than the following gen_rand function.</p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state For initialization, init_gen_rand or init_by_array must be called before the first call of this function. This function can not be used after calling gen_rand function, without initialization.</td></tr>
+ <tr><td class="paramname">array</td><td>an array where pseudorandom 64-bit integers are filled by this function. The pointer to the array must be "aligned" (namely, must be a multiple of 16) in the SIMD version, since it refers to the address of a 128-bit integer. In the standard C version, the pointer is arbitrary.</td></tr>
+ <tr><td class="paramname">size</td><td>the number of 64-bit pseudorandom integers to be generated. size must be a multiple of 2, and greater than or equal to (MEXP / 128 + 1) * 2</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note:</dt><dd><b>memalign</b> or <b>posix_memalign</b> is available to get aligned memory. Mac OSX doesn't have these functions, but <b>malloc</b> of OSX returns the pointer to the aligned memory block. </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8c.html#a6bc561a0aa50307534d7e6dd93311d4f">gen_rand_array()</a>, and <a class="el" href="struct_s_f_m_t___t.html#adff6ae93dbd68c2f74a96b99367aba24">SFMT_T::idx</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2224d63688cbf9b1f50c01d5d9bb7f29"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="_s_f_m_t_8c.html#a2224d63688cbf9b1f50c01d5d9bb7f29">sfmt_gen_rand_all</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function fills the internal state array with pseudorandom integers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="struct_s_f_m_t___t.html#a7bf9ad40f20e770d1e703b70248a5386">SFMT_T::state</a>.</p>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32()</a>, and <a class="el" href="_s_f_m_t_8h.html#ae99df9ac1b48be1370492d448504b717">sfmt_genrand_uint64()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac8f1ec46b29372bbd2dd311ce2887ebf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#ac8f1ec46b29372bbd2dd311ce2887ebf">sfmt_genrand_real1</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>generates a random number on [0,1]-real-interval </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1]-real-interval </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32()</a>, and <a class="el" href="_s_f_m_t_8h.html#a29ed9f4537b9e617737dc32585636000">sfmt_to_real1()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3e68d5e08ce1841614dbd93cc4cfa251"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a3e68d5e08ce1841614dbd93cc4cfa251">sfmt_genrand_real2</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>generates a random number on [0,1)-real-interval </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1)-real-interval </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32()</a>, and <a class="el" href="_s_f_m_t_8h.html#a4caa47d7e18ec69f30a56f9390fda3e7">sfmt_to_real2()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a89e02c7333287e1ca650c38983ab6dae"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a89e02c7333287e1ca650c38983ab6dae">sfmt_genrand_real3</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>generates a random number on (0,1)-real-interval </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on (0,1)-real-interval </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32()</a>, and <a class="el" href="_s_f_m_t_8h.html#a48d93f237f52b2a149ab0d683527aa9c">sfmt_to_real3()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa5b6472af111363e237ae022f6a9ef48"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#aa5b6472af111363e237ae022f6a9ef48">sfmt_genrand_res53</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>generates a random number on [0,1) with 53-bit resolution </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1) with 53-bit resolution </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8h.html#ae99df9ac1b48be1370492d448504b717">sfmt_genrand_uint64()</a>, and <a class="el" href="_s_f_m_t_8h.html#abd5780d6ef5e9836a63e555e9f7da940">sfmt_to_res53()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b92b2435f0182f5fa19f94bb7986d74"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a6b92b2435f0182f5fa19f94bb7986d74">sfmt_genrand_res53_mix</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>generates a random number on [0,1) with 53-bit resolution using two 32bit integers. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1) with 53-bit resolution </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32()</a>, and <a class="el" href="_s_f_m_t_8h.html#a686d9c9d19ba29e0890abd2127f46339">sfmt_to_res53_mix()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a320ad3d4b201c8b5525871b5d4c9d110"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static uint32_t <a class="el" href="_s_f_m_t_8h.html#a320ad3d4b201c8b5525871b5d4c9d110">sfmt_genrand_uint32</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function generates and returns 32-bit pseudorandom number. </p>
+<p>init_gen_rand or init_by_array must be called before this function. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>32-bit pseudorandom number </dd></dl>
+
+<p>References <a class="el" href="struct_s_f_m_t___t.html#adff6ae93dbd68c2f74a96b99367aba24">SFMT_T::idx</a>, <a class="el" href="_s_f_m_t_8h.html#a2224d63688cbf9b1f50c01d5d9bb7f29">sfmt_gen_rand_all()</a>, <a class="el" href="struct_s_f_m_t___t.html#a7bf9ad40f20e770d1e703b70248a5386">SFMT_T::state</a>, and <a class="el" href="union_w128___t.html#a09193c7aed9f152649d36a78792ffd11">W128_T::u</a>.</p>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#ac8f1ec46b29372bbd2dd311ce2887ebf">sfmt_genrand_real1()</a>, <a class="el" href="_s_f_m_t_8h.html#a3e68d5e08ce1841614dbd93cc4cfa251">sfmt_genrand_real2()</a>, <a class="el" href="_s_f_m_t_8h.html#a89e02c7333287e1ca650c38983ab6dae">sfmt_genrand_real3()</a>, and <a class="el" href="_s_f_m_t_8h.html#a6b92b2435f0182f5fa19f94bb7986d74">sfmt_genrand_res53_mix()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae99df9ac1b48be1370492d448504b717"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static uint64_t <a class="el" href="_s_f_m_t_8h.html#ae99df9ac1b48be1370492d448504b717">sfmt_genrand_uint64</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function generates and returns 64-bit pseudorandom number. </p>
+<p>init_gen_rand or init_by_array must be called before this function. The function gen_rand64 should not be called after gen_rand32, unless an initialization is again executed. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>64-bit pseudorandom number </dd></dl>
+
+<p>References <a class="el" href="struct_s_f_m_t___t.html#adff6ae93dbd68c2f74a96b99367aba24">SFMT_T::idx</a>, <a class="el" href="_s_f_m_t_8h.html#a2224d63688cbf9b1f50c01d5d9bb7f29">sfmt_gen_rand_all()</a>, <a class="el" href="struct_s_f_m_t___t.html#a7bf9ad40f20e770d1e703b70248a5386">SFMT_T::state</a>, <a class="el" href="union_w128___t.html#a09193c7aed9f152649d36a78792ffd11">W128_T::u</a>, and <a class="el" href="union_w128___t.html#ae222444071b31f65e53d6bbc3c3dd39e">W128_T::u64</a>.</p>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#aa5b6472af111363e237ae022f6a9ef48">sfmt_genrand_res53()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6454ae6ac89dbaa2fd5db79be99dd408"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* <a class="el" href="_s_f_m_t_8c.html#a6454ae6ac89dbaa2fd5db79be99dd408">sfmt_get_idstring</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the identification string. </p>
+<p>The string shows the word size, the Mersenne exponent, and all parameters of this generator. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="_s_f_m_t_8c.html#a4048bf3892868ded8a28f8cbdd339c09">UNUSED_VARIABLE</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4a0698581c5ce4fdb269f814fd438a5f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="_s_f_m_t_8c.html#a4a0698581c5ce4fdb269f814fd438a5f">sfmt_get_min_array_size32</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the minimum size of array used for <b>fill_array32()</b> function. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>minimum size of array used for fill_array32() function. </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8c.html#a4048bf3892868ded8a28f8cbdd339c09">UNUSED_VARIABLE</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a22ebb5ab2cf7e28d2bcf21ffffcc7e39"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="_s_f_m_t_8c.html#a22ebb5ab2cf7e28d2bcf21ffffcc7e39">sfmt_get_min_array_size64</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the minimum size of array used for <b>fill_array64()</b> function. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>minimum size of array used for fill_array64() function. </dd></dl>
+
+<p>References <a class="el" href="_s_f_m_t_8c.html#a4048bf3892868ded8a28f8cbdd339c09">UNUSED_VARIABLE</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a28f357a6d2a9cd74cec3c9d458e58475"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="_s_f_m_t_8c.html#a28f357a6d2a9cd74cec3c9d458e58475">sfmt_init_by_array</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t *&#160;</td>
+ <td class="paramname"><em>init_key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>key_length</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function initializes the internal state array, with an array of 32-bit integers used as the seeds. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ <tr><td class="paramname">init_key</td><td>the array of 32-bit integers, used as a seed. </td></tr>
+ <tr><td class="paramname">key_length</td><td>the length of init_key. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="_s_f_m_t_8c.html#a4c995d884c911ea326dd7b5dac69df52">func1()</a>, <a class="el" href="_s_f_m_t_8c.html#abbf9b5910c59f1aebf5739f26d87f6a3">func2()</a>, <a class="el" href="struct_s_f_m_t___t.html#adff6ae93dbd68c2f74a96b99367aba24">SFMT_T::idx</a>, <a class="el" href="_s_f_m_t_8c.html#a6ceeab85133c3fd7ec95aa85523ff544">idxof()</a>, <a class="el" href="_s_f_m_t_8c.html#a1fb62e08a8633bd2e7d7f1e4374b6815">period_certification()</a>, <a class="el" href="struct_s_f_m_t___t.html#a7bf9ad40f20e770d1e703b70248a5386">SFMT_T::state</a>, and <a class="el" href="union_w128___t.html#a09193c7aed9f152649d36a78792ffd11">W128_T::u</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a674d820db863265836ef9cb203aa4130"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="_s_f_m_t_8c.html#a674d820db863265836ef9cb203aa4130">sfmt_init_gen_rand</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_s_f_m_t_8h.html#a786e4a6ba82d3cb2f62241d6351d973f">sfmt_t</a> *&#160;</td>
+ <td class="paramname"><em>sfmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>seed</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This function initializes the internal state array with a 32-bit integer seed. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sfmt</td><td>SFMT internal state </td></tr>
+ <tr><td class="paramname">seed</td><td>a 32-bit integer used as the seed. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>References <a class="el" href="struct_s_f_m_t___t.html#adff6ae93dbd68c2f74a96b99367aba24">SFMT_T::idx</a>, <a class="el" href="_s_f_m_t_8c.html#a6ceeab85133c3fd7ec95aa85523ff544">idxof()</a>, <a class="el" href="_s_f_m_t_8c.html#a1fb62e08a8633bd2e7d7f1e4374b6815">period_certification()</a>, <a class="el" href="struct_s_f_m_t___t.html#a7bf9ad40f20e770d1e703b70248a5386">SFMT_T::state</a>, and <a class="el" href="union_w128___t.html#a09193c7aed9f152649d36a78792ffd11">W128_T::u</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29ed9f4537b9e617737dc32585636000"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a29ed9f4537b9e617737dc32585636000">sfmt_to_real1</a> </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>v</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>converts an unsigned 32-bit number to a double on [0,1]-real-interval. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">v</td><td>32-bit unsigned integer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1]-real-interval </dd></dl>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#ac8f1ec46b29372bbd2dd311ce2887ebf">sfmt_genrand_real1()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4caa47d7e18ec69f30a56f9390fda3e7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a4caa47d7e18ec69f30a56f9390fda3e7">sfmt_to_real2</a> </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>v</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>converts an unsigned 32-bit integer to a double on [0,1)-real-interval. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">v</td><td>32-bit unsigned integer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1)-real-interval </dd></dl>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#a3e68d5e08ce1841614dbd93cc4cfa251">sfmt_genrand_real2()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a48d93f237f52b2a149ab0d683527aa9c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a48d93f237f52b2a149ab0d683527aa9c">sfmt_to_real3</a> </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>v</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>converts an unsigned 32-bit integer to a double on (0,1)-real-interval. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">v</td><td>32-bit unsigned integer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on (0,1)-real-interval </dd></dl>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#a89e02c7333287e1ca650c38983ab6dae">sfmt_genrand_real3()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abd5780d6ef5e9836a63e555e9f7da940"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#abd5780d6ef5e9836a63e555e9f7da940">sfmt_to_res53</a> </td>
+ <td>(</td>
+ <td class="paramtype">uint64_t&#160;</td>
+ <td class="paramname"><em>v</em></td><td>)</td>
+ <td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>converts an unsigned 32-bit integer to double on [0,1) with 53-bit resolution. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">v</td><td>32-bit unsigned integer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>double on [0,1)-real-interval with 53-bit resolution. </dd></dl>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#aa5b6472af111363e237ae022f6a9ef48">sfmt_genrand_res53()</a>, and <a class="el" href="_s_f_m_t_8h.html#a686d9c9d19ba29e0890abd2127f46339">sfmt_to_res53_mix()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a686d9c9d19ba29e0890abd2127f46339"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="_s_f_m_t_8h.html#a686d9c9d19ba29e0890abd2127f46339">sfmt_to_res53_mix</a> </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>generates a random number on [0,1) with 53-bit resolution from two 32 bit integers </p>
+
+<p>References <a class="el" href="_s_f_m_t_8h.html#abd5780d6ef5e9836a63e555e9f7da940">sfmt_to_res53()</a>.</p>
+
+<p>Referenced by <a class="el" href="_s_f_m_t_8h.html#a6b92b2435f0182f5fa19f94bb7986d74">sfmt_genrand_res53_mix()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated on Thu Jun 28 2012 10:34:10 for SFMT by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.0
+</small></address>
+
+</body>
+</html>