diff options
author | Kevin Chabowski <kevin@kch42.de> | 2013-08-01 22:53:27 +0200 |
---|---|---|
committer | Kevin Chabowski <kevin@kch42.de> | 2013-08-01 22:53:27 +0200 |
commit | a2fd89f963a7374b29f7831e67b443c3d42c6e3c (patch) | |
tree | 46028797665093856745df1b94875b0dfa071ef3 /SFMT/html/_s_f_m_t_8h.html | |
parent | 8e6850107adb5ca37ed0e9a4500282b2e8743294 (diff) | |
download | nebula2-a2fd89f963a7374b29f7831e67b443c3d42c6e3c.tar.gz nebula2-a2fd89f963a7374b29f7831e67b443c3d42c6e3c.tar.bz2 nebula2-a2fd89f963a7374b29f7831e67b443c3d42c6e3c.zip |
Added SFMT prng.
Diffstat (limited to 'SFMT/html/_s_f_m_t_8h.html')
-rw-r--r-- | SFMT/html/_s_f_m_t_8h.html | 848 |
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 +  <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 Page</span></a></li> + <li><a href="annotated.html"><span>Data 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 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> | +<a href="#define-members">Defines</a> | +<a href="#typedef-members">Typedefs</a> | +<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 <stdio.h></code><br/> +<code>#include <assert.h></code><br/> +<code>#include <inttypes.h></code><br/> +<code>#include "SFMT-params.h"</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  </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"> </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  </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#ac582131d7a7c8ee57e73180d1714f9d5">PRIu64</a>   "llu"</td></tr> +<tr class="memitem:aba38357387a474f439428dee1984fc5a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_s_f_m_t_8h.html#aba38357387a474f439428dee1984fc5a">PRIx64</a>   "llx"</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> </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"> </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> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 * </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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>   "llu"</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>   "llx"</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> * </td> + <td class="paramname"><em>sfmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"><em>array</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>size</em> </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> * </td> + <td class="paramname"><em>sfmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint64_t * </td> + <td class="paramname"><em>array</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>size</em> </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> * </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> * </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> * </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> * </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> * </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> * </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> * </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> * </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> * </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> * </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> * </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> * </td> + <td class="paramname"><em>sfmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"><em>init_key</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>key_length</em> </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> * </td> + <td class="paramname"><em>sfmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>seed</em> </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 </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 </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 </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 </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 </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>y</em> </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  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.0 +</small></address> + +</body> +</html> |