source: Daodan/src/dSFMT/html/d_s_f_m_t_8h.html@ 596

Last change on this file since 596 was 440, checked in by rossy, 15 years ago

int32rand

File size: 113.9 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>dSFMT: dSFMT.h File Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.5 -->
8<div class="navigation" id="top">
9 <div class="tabs">
10 <ul>
11 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15 </div>
16</div>
17<div class="contents">
18<h1>dSFMT.h File Reference</h1>double precision SIMD oriented Fast Mersenne Twister(dSFMT) pseudorandom number generator based on IEEE 754 format. <a href="#_details">More...</a>
19<p>
20<code>#include &lt;stdio.h&gt;</code><br>
21<code>#include &lt;assert.h&gt;</code><br>
22<code>#include &lt;inttypes.h&gt;</code><br>
23
24<p>
25<a href="d_s_f_m_t_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
26<tr><td></td></tr>
27<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
28<tr><td class="memItemLeft" nowrap align="right" valign="top">union &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="union_w128___t.html">W128_T</a></td></tr>
29
30<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">128-bit data structure <a href="union_w128___t.html#_details">More...</a><br></td></tr>
31<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d_s_f_m_t___t.html">DSFMT_T</a></td></tr>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the 128-bit internal state array <a href="struct_d_s_f_m_t___t.html#_details">More...</a><br></td></tr>
34<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
35<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#eda2790c35e4e205219e3c0ef1a2dd0a">DSFMT_MEXP</a>&nbsp;&nbsp;&nbsp;19937</td></tr>
36
37<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#3b6595773bfd02df5481e6a459071a1c">DSFMT_N</a>&nbsp;&nbsp;&nbsp;((DSFMT_MEXP - 128) / 104 + 1)</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DSFMT generator has an internal state array of 128-bit integers, and N is its size. <a href="#3b6595773bfd02df5481e6a459071a1c"></a><br></td></tr>
40<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#a0bbbd372d361b7fe3ea3ec2013c9097">DSFMT_N32</a>&nbsp;&nbsp;&nbsp;(DSFMT_N * 4)</td></tr>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">N32 is the size of internal state array when regarded as an array of 32-bit integers. <a href="#a0bbbd372d361b7fe3ea3ec2013c9097"></a><br></td></tr>
43<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#36560990b64532b75e95bf5b683599dc">DSFMT_N64</a>&nbsp;&nbsp;&nbsp;(DSFMT_N * 2)</td></tr>
44
45<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">N64 is the size of internal state array when regarded as an array of 64-bit integers. <a href="#36560990b64532b75e95bf5b683599dc"></a><br></td></tr>
46<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#00d24c7231be28dbaf71f5408f30e44c">inline</a></td></tr>
47
48<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#c582131d7a7c8ee57e73180d1714f9d5">PRIu64</a>&nbsp;&nbsp;&nbsp;&quot;llu&quot;</td></tr>
49
50<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#ba38357387a474f439428dee1984fc5a">PRIx64</a>&nbsp;&nbsp;&nbsp;&quot;llx&quot;</td></tr>
51
52<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#014ce50c36f4de34281551e4da3d5195">UINT64_C</a>(v)&nbsp;&nbsp;&nbsp;(v ## ULL)</td></tr>
53
54<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#7490eb8287e4754e4e30153135f496e9">DSFMT_PRE_INLINE</a>&nbsp;&nbsp;&nbsp;inline static</td></tr>
55
56<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#5842d43aa58fb6f026a8fdc02cb15455">DSFMT_PST_INLINE</a></td></tr>
57
58<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
59<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef union <a class="el" href="union_w128___t.html">W128_T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#b1ee414cba9ca0f33a3716e7a92c2b79">w128_t</a></td></tr>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">128-bit data type <a href="#b1ee414cba9ca0f33a3716e7a92c2b79"></a><br></td></tr>
62<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct_d_s_f_m_t___t.html">DSFMT_T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#7e8239b4bedf4e53d5168d21848ab7af">dsfmt_t</a></td></tr>
63
64<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
65<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#fccb1e4d75cea7ffe3b45cba53d1e5e0">dsfmt_gen_rand_all</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function fills the internal state array with double precision floating point pseudorandom numbers of the IEEE 754 format. <a href="#fccb1e4d75cea7ffe3b45cba53d1e5e0"></a><br></td></tr>
68<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#6ad6f12b9a47ea89ceab693b1eec5079">dsfmt_fill_array_open_close</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, double array[], int size)</td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call. <a href="#6ad6f12b9a47ea89ceab693b1eec5079"></a><br></td></tr>
71<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#243fb9ed1b61233f3dba4ab15c541eb0">dsfmt_fill_array_close_open</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, double array[], int size)</td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call. <a href="#243fb9ed1b61233f3dba4ab15c541eb0"></a><br></td></tr>
74<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#eed310e17f9f652c1b0ec86298c834c1">dsfmt_fill_array_open_open</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, double array[], int size)</td></tr>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call. <a href="#eed310e17f9f652c1b0ec86298c834c1"></a><br></td></tr>
77<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89">dsfmt_fill_array_close1_open2</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, double array[], int size)</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call. <a href="#beef257039f3b95b7475bbecdb521b89"></a><br></td></tr>
80<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#2fa6a84095a280a4e1556415f3d4f259">dsfmt_chk_init_gen_rand</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, uint32_t seed, int mexp)</td></tr>
81
82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function initializes the internal state array with a 32-bit integer seed. <a href="#2fa6a84095a280a4e1556415f3d4f259"></a><br></td></tr>
83<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#91cef405a85910d4e56b4a1d10fb89f1">dsfmt_chk_init_by_array</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, uint32_t init_key[], int key_length, int mexp)</td></tr>
84
85<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function initializes the internal state array, with an array of 32-bit integers used as the seeds. <a href="#91cef405a85910d4e56b4a1d10fb89f1"></a><br></td></tr>
86<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#f181eeb77513e5a399dd2c585cfaa055">dsfmt_get_idstring</a> (void)</td></tr>
87
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the identification string. <a href="#f181eeb77513e5a399dd2c585cfaa055"></a><br></td></tr>
89<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#f49cc1703b4cc1d0bffbd895917c303a">dsfmt_get_min_array_size</a> (void)</td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the minimum size of array used for <b>fill_array</b> functions. <a href="#f49cc1703b4cc1d0bffbd895917c303a"></a><br></td></tr>
92<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#49fc44ce077ee57594b8102eb04145d9">dsfmt_genrand_uint32</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns unsigned 32-bit integer. <a href="#49fc44ce077ee57594b8102eb04145d9"></a><br></td></tr>
95<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#e9bb29b63c46e57725dffa776cf930e7">dsfmt_genrand_close1_open2</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
96
97<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2). <a href="#e9bb29b63c46e57725dffa776cf930e7"></a><br></td></tr>
98<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#989a29c7d5616755721ee41f0d1c3982">dsfmt_genrand_close_open</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
99
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1). <a href="#989a29c7d5616755721ee41f0d1c3982"></a><br></td></tr>
101<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#c8916cdece1e0ed671077ba869aae509">dsfmt_genrand_open_close</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
102
103<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1]. <a href="#c8916cdece1e0ed671077ba869aae509"></a><br></td></tr>
104<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#147a0a05c969a4cb5d92ce3963b839c2">dsfmt_genrand_open_open</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
105
106<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1). <a href="#147a0a05c969a4cb5d92ce3963b839c2"></a><br></td></tr>
107<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#de87b39b59a4f8c2e09c5ad25a53b515">dsfmt_gv_genrand_uint32</a> (void)</td></tr>
108
109<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns unsigned 32-bit integer. <a href="#de87b39b59a4f8c2e09c5ad25a53b515"></a><br></td></tr>
110<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#f298572e9f2449e59ddf486977006621">dsfmt_gv_genrand_close1_open2</a> (void)</td></tr>
111
112<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2). <a href="#f298572e9f2449e59ddf486977006621"></a><br></td></tr>
113<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#e57b11ef3fdcf04e84fc0298166aab82">dsfmt_gv_genrand_close_open</a> (void)</td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1). <a href="#e57b11ef3fdcf04e84fc0298166aab82"></a><br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#fcdb7f3f26ca2d4a8f4e3854209fd4dd">dsfmt_gv_genrand_open_close</a> (void)</td></tr>
117
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1]. <a href="#fcdb7f3f26ca2d4a8f4e3854209fd4dd"></a><br></td></tr>
119<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#f6dbcef408462da1f40edd1a1ea5dcd3">dsfmt_gv_genrand_open_open</a> (void)</td></tr>
120
121<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1). <a href="#f6dbcef408462da1f40edd1a1ea5dcd3"></a><br></td></tr>
122<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#92deacd8f90f332a130ab5a6fdae8348">dsfmt_gv_fill_array_open_close</a> (double array[], int size)</td></tr>
123
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call. <a href="#92deacd8f90f332a130ab5a6fdae8348"></a><br></td></tr>
125<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#27e4b624752149e0450056a317d09214">dsfmt_gv_fill_array_close_open</a> (double array[], int size)</td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call. <a href="#27e4b624752149e0450056a317d09214"></a><br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#871323d18c3525787f63fcf071c4787d">dsfmt_gv_fill_array_open_open</a> (double array[], int size)</td></tr>
129
130<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call. <a href="#871323d18c3525787f63fcf071c4787d"></a><br></td></tr>
131<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac">dsfmt_gv_fill_array_close1_open2</a> (double array[], int size)</td></tr>
132
133<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call. <a href="#e0ed5a2ba6eb6f21fa591a54020af3ac"></a><br></td></tr>
134<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8">dsfmt_gv_init_gen_rand</a> (uint32_t seed)</td></tr>
135
136<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function initializes the internal state array with a 32-bit integer seed. <a href="#74e3849c0ae0929d57c9c9ac52d58cc8"></a><br></td></tr>
137<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838">dsfmt_gv_init_by_array</a> (uint32_t init_key[], int key_length)</td></tr>
138
139<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function initializes the internal state array, with an array of 32-bit integers used as the seeds. <a href="#4f989ee92f5e4c8f71570dbb9d19e838"></a><br></td></tr>
140<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41">dsfmt_init_gen_rand</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, uint32_t seed)</td></tr>
141
142<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function initializes the internal state array with a 32-bit integer seed. <a href="#8df497c74e469b5f42e8a22d93124d41"></a><br></td></tr>
143<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87">dsfmt_init_by_array</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, uint32_t init_key[], int key_length)</td></tr>
144
145<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function initializes the internal state array, with an array of 32-bit integers used as the seeds. <a href="#0914ba62e9a46b6a1f04f27caa83ba87"></a><br></td></tr>
146<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#2792d3dd76b6ae051d60830b676622ba">get_idstring</a> (void)</td></tr>
147
148<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f181eeb77513e5a399dd2c585cfaa055" title="This function returns the identification string.">dsfmt_get_idstring()</a>. <a href="#2792d3dd76b6ae051d60830b676622ba"></a><br></td></tr>
149<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#75ebedeed1c3d5e8576c53e5ce215fea">get_min_array_size</a> (void)</td></tr>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f49cc1703b4cc1d0bffbd895917c303a" title="This function returns the minimum size of array used for fill_array functions.">dsfmt_get_min_array_size()</a>. <a href="#75ebedeed1c3d5e8576c53e5ce215fea"></a><br></td></tr>
152<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#985425dba38a16554d3f2a9ee3a41e1b">init_gen_rand</a> (uint32_t seed)</td></tr>
153
154<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a>. <a href="#985425dba38a16554d3f2a9ee3a41e1b"></a><br></td></tr>
155<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#5f12cfe61e34b29a9c4f88f097712205">init_by_array</a> (uint32_t init_key[], int key_length)</td></tr>
156
157<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a>. <a href="#5f12cfe61e34b29a9c4f88f097712205"></a><br></td></tr>
158<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#01bce92db767a0f976b56f88f8f89515">genrand_close1_open2</a> (void)</td></tr>
159
160<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f298572e9f2449e59ddf486977006621" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_close1_open2()</a>. <a href="#01bce92db767a0f976b56f88f8f89515"></a><br></td></tr>
161<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#188b24295a56aa56f823c7dfb0615971">genrand_close_open</a> (void)</td></tr>
162
163<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#e57b11ef3fdcf04e84fc0298166aab82" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_close_open()</a>. <a href="#188b24295a56aa56f823c7dfb0615971"></a><br></td></tr>
164<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#b24d54ba54b0249c02200a7f3232b342">genrand_open_close</a> (void)</td></tr>
165
166<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#fcdb7f3f26ca2d4a8f4e3854209fd4dd" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_open_close()</a>. <a href="#b24d54ba54b0249c02200a7f3232b342"></a><br></td></tr>
167<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#902ef40cb5e9e3caad2cfb478224c071">genrand_open_open</a> (void)</td></tr>
168
169<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f6dbcef408462da1f40edd1a1ea5dcd3" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_open_open()</a>. <a href="#902ef40cb5e9e3caad2cfb478224c071"></a><br></td></tr>
170<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#4d6c1e2049214ae128c1f9226ad683b9">fill_array_open_close</a> (double array[], int size)</td></tr>
171
172<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#92deacd8f90f332a130ab5a6fdae8348" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_open_close()</a>. <a href="#4d6c1e2049214ae128c1f9226ad683b9"></a><br></td></tr>
173<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#5a6dd5166f4dcc137bce8f1aeea758a5">fill_array_close_open</a> (double array[], int size)</td></tr>
174
175<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#27e4b624752149e0450056a317d09214" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close_open()</a>. <a href="#5a6dd5166f4dcc137bce8f1aeea758a5"></a><br></td></tr>
176<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#deaef304a7f9f262588bdbcf780feb42">fill_array_open_open</a> (double array[], int size)</td></tr>
177
178<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#871323d18c3525787f63fcf071c4787d" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_open_open()</a>. <a href="#deaef304a7f9f262588bdbcf780feb42"></a><br></td></tr>
179<tr><td class="memItemLeft" nowrap align="right" valign="top">DSFMT_PRE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d">fill_array_close1_open2</a> (double array[], int size)</td></tr>
180
181<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a>. <a href="#98e1c0307c01044eb8d1c5136b59af9d"></a><br></td></tr>
182<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
183<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#dfee3c4c3505ddcfc334251f94968737">dsfmt_global_data</a></td></tr>
184
185<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dsfmt internal state vector <a href="#dfee3c4c3505ddcfc334251f94968737"></a><br></td></tr>
186<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8h.html#b5bb9876d117b3cdf8143c701a3f8cdf">dsfmt_global_mexp</a></td></tr>
187
188<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dsfmt mexp for check <a href="#b5bb9876d117b3cdf8143c701a3f8cdf"></a><br></td></tr>
189</table>
190<hr><a name="_details"></a><h2>Detailed Description</h2>
191double precision SIMD oriented Fast Mersenne Twister(dSFMT) pseudorandom number generator based on IEEE 754 format.
192<p>
193<dl class="author" compact><dt><b>Author:</b></dt><dd>Mutsuo Saito (Hiroshima University) <p>
194Makoto Matsumoto (Hiroshima University)</dd></dl>
195Copyright (C) 2007, 2008 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved.<p>
196The new BSD License is applied to this software. see LICENSE.txt<p>
197<dl class="note" compact><dt><b>Note:</b></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">
198 typedef unsigned int uint32_t
199 typedef unsigned long long uint64_t
200 #define PRIu64 "llu"
201 #define PRIx64 "llx"
202</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>
203<hr><h2>Define Documentation</h2>
204<a class="anchor" name="eda2790c35e4e205219e3c0ef1a2dd0a"></a><!-- doxytag: member="dSFMT.h::DSFMT_MEXP" ref="eda2790c35e4e205219e3c0ef1a2dd0a" args="" -->
205<div class="memitem">
206<div class="memproto">
207 <table class="memname">
208 <tr>
209 <td class="memname">#define DSFMT_MEXP&nbsp;&nbsp;&nbsp;19937 </td>
210 </tr>
211 </table>
212</div>
213<div class="memdoc">
214
215<p>
216
217<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00458">dsfmt_init_by_array()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00437">dsfmt_init_gen_rand()</a>.</p>
218
219</div>
220</div><p>
221<a class="anchor" name="3b6595773bfd02df5481e6a459071a1c"></a><!-- doxytag: member="dSFMT.h::DSFMT_N" ref="3b6595773bfd02df5481e6a459071a1c" args="" -->
222<div class="memitem">
223<div class="memproto">
224 <table class="memname">
225 <tr>
226 <td class="memname">#define DSFMT_N&nbsp;&nbsp;&nbsp;((DSFMT_MEXP - 128) / 104 + 1) </td>
227 </tr>
228 </table>
229</div>
230<div class="memdoc">
231
232<p>
233DSFMT generator has an internal state array of 128-bit integers, and N is its size.
234<p>
235
236<p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00656">dsfmt_chk_init_by_array()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00509">dsfmt_gen_rand_all()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00281">gen_rand_array_c0o1()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00243">gen_rand_array_c1o2()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00367">gen_rand_array_o0c1()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00324">gen_rand_array_o0o1()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00428">initial_mask()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00442">period_certification()</a>.</p>
237
238</div>
239</div><p>
240<a class="anchor" name="a0bbbd372d361b7fe3ea3ec2013c9097"></a><!-- doxytag: member="dSFMT.h::DSFMT_N32" ref="a0bbbd372d361b7fe3ea3ec2013c9097" args="" -->
241<div class="memitem">
242<div class="memproto">
243 <table class="memname">
244 <tr>
245 <td class="memname">#define DSFMT_N32&nbsp;&nbsp;&nbsp;(DSFMT_N * 4) </td>
246 </tr>
247 </table>
248</div>
249<div class="memdoc">
250
251<p>
252N32 is the size of internal state array when regarded as an array of 32-bit integers.
253<p>
254
255</div>
256</div><p>
257<a class="anchor" name="36560990b64532b75e95bf5b683599dc"></a><!-- doxytag: member="dSFMT.h::DSFMT_N64" ref="36560990b64532b75e95bf5b683599dc" args="" -->
258<div class="memitem">
259<div class="memproto">
260 <table class="memname">
261 <tr>
262 <td class="memname">#define DSFMT_N64&nbsp;&nbsp;&nbsp;(DSFMT_N * 2) </td>
263 </tr>
264 </table>
265</div>
266<div class="memdoc">
267
268<p>
269N64 is the size of internal state array when regarded as an array of 64-bit integers.
270<p>
271
272<p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00656">dsfmt_chk_init_by_array()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00555">dsfmt_fill_array_close1_open2()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00591">dsfmt_fill_array_close_open()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00573">dsfmt_fill_array_open_close()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00609">dsfmt_fill_array_open_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00253">dsfmt_genrand_close1_open2()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00341">dsfmt_genrand_open_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00232">dsfmt_genrand_uint32()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00500">dsfmt_get_min_array_size()</a>.</p>
273
274</div>
275</div><p>
276<a class="anchor" name="7490eb8287e4754e4e30153135f496e9"></a><!-- doxytag: member="dSFMT.h::DSFMT_PRE_INLINE" ref="7490eb8287e4754e4e30153135f496e9" args="" -->
277<div class="memitem">
278<div class="memproto">
279 <table class="memname">
280 <tr>
281 <td class="memname">#define DSFMT_PRE_INLINE&nbsp;&nbsp;&nbsp;inline static </td>
282 </tr>
283 </table>
284</div>
285<div class="memdoc">
286
287<p>
288
289</div>
290</div><p>
291<a class="anchor" name="5842d43aa58fb6f026a8fdc02cb15455"></a><!-- doxytag: member="dSFMT.h::DSFMT_PST_INLINE" ref="5842d43aa58fb6f026a8fdc02cb15455" args="" -->
292<div class="memitem">
293<div class="memproto">
294 <table class="memname">
295 <tr>
296 <td class="memname">#define DSFMT_PST_INLINE </td>
297 </tr>
298 </table>
299</div>
300<div class="memdoc">
301
302<p>
303
304</div>
305</div><p>
306<a class="anchor" name="00d24c7231be28dbaf71f5408f30e44c"></a><!-- doxytag: member="dSFMT.h::inline" ref="00d24c7231be28dbaf71f5408f30e44c" args="" -->
307<div class="memitem">
308<div class="memproto">
309 <table class="memname">
310 <tr>
311 <td class="memname">#define inline </td>
312 </tr>
313 </table>
314</div>
315<div class="memdoc">
316
317<p>
318
319</div>
320</div><p>
321<a class="anchor" name="c582131d7a7c8ee57e73180d1714f9d5"></a><!-- doxytag: member="dSFMT.h::PRIu64" ref="c582131d7a7c8ee57e73180d1714f9d5" args="" -->
322<div class="memitem">
323<div class="memproto">
324 <table class="memname">
325 <tr>
326 <td class="memname">#define PRIu64&nbsp;&nbsp;&nbsp;&quot;llu&quot; </td>
327 </tr>
328 </table>
329</div>
330<div class="memdoc">
331
332<p>
333
334</div>
335</div><p>
336<a class="anchor" name="ba38357387a474f439428dee1984fc5a"></a><!-- doxytag: member="dSFMT.h::PRIx64" ref="ba38357387a474f439428dee1984fc5a" args="" -->
337<div class="memitem">
338<div class="memproto">
339 <table class="memname">
340 <tr>
341 <td class="memname">#define PRIx64&nbsp;&nbsp;&nbsp;&quot;llx&quot; </td>
342 </tr>
343 </table>
344</div>
345<div class="memdoc">
346
347<p>
348
349</div>
350</div><p>
351<a class="anchor" name="014ce50c36f4de34281551e4da3d5195"></a><!-- doxytag: member="dSFMT.h::UINT64_C" ref="014ce50c36f4de34281551e4da3d5195" args="(v)" -->
352<div class="memitem">
353<div class="memproto">
354 <table class="memname">
355 <tr>
356 <td class="memname">#define UINT64_C </td>
357 <td>(</td>
358 <td class="paramtype">v&nbsp;</td>
359 <td class="paramname"> </td>
360 <td>&nbsp;)&nbsp;</td>
361 <td width="100%">&nbsp;&nbsp;&nbsp;(v ## ULL)</td>
362 </tr>
363 </table>
364</div>
365<div class="memdoc">
366
367<p>
368
369</div>
370</div><p>
371<hr><h2>Typedef Documentation</h2>
372<a class="anchor" name="7e8239b4bedf4e53d5168d21848ab7af"></a><!-- doxytag: member="dSFMT.h::dsfmt_t" ref="7e8239b4bedf4e53d5168d21848ab7af" args="" -->
373<div class="memitem">
374<div class="memproto">
375 <table class="memname">
376 <tr>
377 <td class="memname">typedef struct <a class="el" href="struct_d_s_f_m_t___t.html">DSFMT_T</a> <a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> </td>
378 </tr>
379 </table>
380</div>
381<div class="memdoc">
382
383<p>
384
385</div>
386</div><p>
387<a class="anchor" name="b1ee414cba9ca0f33a3716e7a92c2b79"></a><!-- doxytag: member="dSFMT.h::w128_t" ref="b1ee414cba9ca0f33a3716e7a92c2b79" args="" -->
388<div class="memitem">
389<div class="memproto">
390 <table class="memname">
391 <tr>
392 <td class="memname">typedef union <a class="el" href="union_w128___t.html">W128_T</a> <a class="el" href="union_w128___t.html">w128_t</a> </td>
393 </tr>
394 </table>
395</div>
396<div class="memdoc">
397
398<p>
399128-bit data type
400<p>
401
402</div>
403</div><p>
404<hr><h2>Function Documentation</h2>
405<a class="anchor" name="91cef405a85910d4e56b4a1d10fb89f1"></a><!-- doxytag: member="dSFMT.h::dsfmt_chk_init_by_array" ref="91cef405a85910d4e56b4a1d10fb89f1" args="(dsfmt_t *dsfmt, uint32_t init_key[], int key_length, int mexp)" -->
406<div class="memitem">
407<div class="memproto">
408 <table class="memname">
409 <tr>
410 <td class="memname">void dsfmt_chk_init_by_array </td>
411 <td>(</td>
412 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
413 <td class="paramname"> <em>dsfmt</em>, </td>
414 </tr>
415 <tr>
416 <td class="paramkey"></td>
417 <td></td>
418 <td class="paramtype">uint32_t&nbsp;</td>
419 <td class="paramname"> <em>init_key</em>[], </td>
420 </tr>
421 <tr>
422 <td class="paramkey"></td>
423 <td></td>
424 <td class="paramtype">int&nbsp;</td>
425 <td class="paramname"> <em>key_length</em>, </td>
426 </tr>
427 <tr>
428 <td class="paramkey"></td>
429 <td></td>
430 <td class="paramtype">int&nbsp;</td>
431 <td class="paramname"> <em>mexp</em></td><td>&nbsp;</td>
432 </tr>
433 <tr>
434 <td></td>
435 <td>)</td>
436 <td></td><td></td><td width="100%"></td>
437 </tr>
438 </table>
439</div>
440<div class="memdoc">
441
442<p>
443This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
444<p>
445<dl compact><dt><b>Parameters:</b></dt><dd>
446 <table border="0" cellspacing="2" cellpadding="0">
447 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
448 <tr><td valign="top"></td><td valign="top"><em>init_key</em>&nbsp;</td><td>the array of 32-bit integers, used as a seed. </td></tr>
449 <tr><td valign="top"></td><td valign="top"><em>key_length</em>&nbsp;</td><td>the length of init_key. </td></tr>
450 <tr><td valign="top"></td><td valign="top"><em>mexp</em>&nbsp;</td><td>caller's mersenne expornent </td></tr>
451 </table>
452</dl>
453
454<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00022">dsfmt_mexp</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00051">DSFMT_N</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00164">DSFMT_T::idx</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00064">idxof()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00409">ini_func1()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00419">ini_func2()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00428">initial_mask()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00442">period_certification()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00163">DSFMT_T::status</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00153">W128_T::u32</a>.</p>
455
456<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00458">dsfmt_init_by_array()</a>.</p>
457
458</div>
459</div><p>
460<a class="anchor" name="2fa6a84095a280a4e1556415f3d4f259"></a><!-- doxytag: member="dSFMT.h::dsfmt_chk_init_gen_rand" ref="2fa6a84095a280a4e1556415f3d4f259" args="(dsfmt_t *dsfmt, uint32_t seed, int mexp)" -->
461<div class="memitem">
462<div class="memproto">
463 <table class="memname">
464 <tr>
465 <td class="memname">void dsfmt_chk_init_gen_rand </td>
466 <td>(</td>
467 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
468 <td class="paramname"> <em>dsfmt</em>, </td>
469 </tr>
470 <tr>
471 <td class="paramkey"></td>
472 <td></td>
473 <td class="paramtype">uint32_t&nbsp;</td>
474 <td class="paramname"> <em>seed</em>, </td>
475 </tr>
476 <tr>
477 <td class="paramkey"></td>
478 <td></td>
479 <td class="paramtype">int&nbsp;</td>
480 <td class="paramname"> <em>mexp</em></td><td>&nbsp;</td>
481 </tr>
482 <tr>
483 <td></td>
484 <td>)</td>
485 <td></td><td></td><td width="100%"></td>
486 </tr>
487 </table>
488</div>
489<div class="memdoc">
490
491<p>
492This function initializes the internal state array with a 32-bit integer seed.
493<p>
494<dl compact><dt><b>Parameters:</b></dt><dd>
495 <table border="0" cellspacing="2" cellpadding="0">
496 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
497 <tr><td valign="top"></td><td valign="top"><em>seed</em>&nbsp;</td><td>a 32-bit integer used as the seed. </td></tr>
498 <tr><td valign="top"></td><td valign="top"><em>mexp</em>&nbsp;</td><td>caller's mersenne expornent </td></tr>
499 </table>
500</dl>
501
502<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00022">dsfmt_mexp</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00051">DSFMT_N</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00164">DSFMT_T::idx</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00064">idxof()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00428">initial_mask()</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00442">period_certification()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00163">DSFMT_T::status</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00153">W128_T::u32</a>.</p>
503
504<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00437">dsfmt_init_gen_rand()</a>.</p>
505
506</div>
507</div><p>
508<a class="anchor" name="beef257039f3b95b7475bbecdb521b89"></a><!-- doxytag: member="dSFMT.h::dsfmt_fill_array_close1_open2" ref="beef257039f3b95b7475bbecdb521b89" args="(dsfmt_t *dsfmt, double array[], int size)" -->
509<div class="memitem">
510<div class="memproto">
511 <table class="memname">
512 <tr>
513 <td class="memname">void dsfmt_fill_array_close1_open2 </td>
514 <td>(</td>
515 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
516 <td class="paramname"> <em>dsfmt</em>, </td>
517 </tr>
518 <tr>
519 <td class="paramkey"></td>
520 <td></td>
521 <td class="paramtype">double&nbsp;</td>
522 <td class="paramname"> <em>array</em>[], </td>
523 </tr>
524 <tr>
525 <td class="paramkey"></td>
526 <td></td>
527 <td class="paramtype">int&nbsp;</td>
528 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
529 </tr>
530 <tr>
531 <td></td>
532 <td>)</td>
533 <td></td><td></td><td width="100%"></td>
534 </tr>
535 </table>
536</div>
537<div class="memdoc">
538
539<p>
540This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.
541<p>
542The number of pseudorandom numbers is specified by the argument <b>size</b>, which must be at least (SFMT_MEXP / 128) * 2 and a multiple of two. The function <a class="el" href="d_s_f_m_t_8h.html#75ebedeed1c3d5e8576c53e5ce215fea" title="This function is just the same as dsfmt_get_min_array_size().">get_min_array_size()</a> returns this minimum size. The generation by this function is much faster than the following fill_array_xxx functions.<p>
543For initialization, <a class="el" href="d_s_f_m_t_8h.html#985425dba38a16554d3f2a9ee3a41e1b" title="This function is just the same as dsfmt_gv_init_gen_rand().">init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#5f12cfe61e34b29a9c4f88f097712205" title="This function is just the same as dsfmt_gv_init_by_array().">init_by_array()</a> must be called before the first call of this function. This function can not be used after calling genrand_xxx functions, without initialization.<p>
544<dl compact><dt><b>Parameters:</b></dt><dd>
545 <table border="0" cellspacing="2" cellpadding="0">
546 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
547 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers 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>
548 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</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 (SFMT_MEXP / 128) * 2.</td></tr>
549 </table>
550</dl>
551<dl class="note" compact><dt><b>Note:</b></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>
552
553<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00243">gen_rand_array_c1o2()</a>.</p>
554
555<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00379">dsfmt_gv_fill_array_close1_open2()</a>.</p>
556
557</div>
558</div><p>
559<a class="anchor" name="243fb9ed1b61233f3dba4ab15c541eb0"></a><!-- doxytag: member="dSFMT.h::dsfmt_fill_array_close_open" ref="243fb9ed1b61233f3dba4ab15c541eb0" args="(dsfmt_t *dsfmt, double array[], int size)" -->
560<div class="memitem">
561<div class="memproto">
562 <table class="memname">
563 <tr>
564 <td class="memname">void dsfmt_fill_array_close_open </td>
565 <td>(</td>
566 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
567 <td class="paramname"> <em>dsfmt</em>, </td>
568 </tr>
569 <tr>
570 <td class="paramkey"></td>
571 <td></td>
572 <td class="paramtype">double&nbsp;</td>
573 <td class="paramname"> <em>array</em>[], </td>
574 </tr>
575 <tr>
576 <td class="paramkey"></td>
577 <td></td>
578 <td class="paramtype">int&nbsp;</td>
579 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
580 </tr>
581 <tr>
582 <td></td>
583 <td>)</td>
584 <td></td><td></td><td width="100%"></td>
585 </tr>
586 </table>
587</div>
588<div class="memdoc">
589
590<p>
591This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.
592<p>
593This function is the same as <a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d" title="This function is juset the same as dsfmt_gv_fill_array_close1_open2().">fill_array_close1_open2()</a> except the distribution range.<p>
594<dl compact><dt><b>Parameters:</b></dt><dd>
595 <table border="0" cellspacing="2" cellpadding="0">
596 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
597 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
598 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
599 </table>
600</dl>
601<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d" title="This function is juset the same as dsfmt_gv_fill_array_close1_open2().">fill_array_close1_open2()</a> </dd></dl>
602
603<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00281">gen_rand_array_c0o1()</a>.</p>
604
605<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00411">dsfmt_gv_fill_array_close_open()</a>.</p>
606
607</div>
608</div><p>
609<a class="anchor" name="6ad6f12b9a47ea89ceab693b1eec5079"></a><!-- doxytag: member="dSFMT.h::dsfmt_fill_array_open_close" ref="6ad6f12b9a47ea89ceab693b1eec5079" args="(dsfmt_t *dsfmt, double array[], int size)" -->
610<div class="memitem">
611<div class="memproto">
612 <table class="memname">
613 <tr>
614 <td class="memname">void dsfmt_fill_array_open_close </td>
615 <td>(</td>
616 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
617 <td class="paramname"> <em>dsfmt</em>, </td>
618 </tr>
619 <tr>
620 <td class="paramkey"></td>
621 <td></td>
622 <td class="paramtype">double&nbsp;</td>
623 <td class="paramname"> <em>array</em>[], </td>
624 </tr>
625 <tr>
626 <td class="paramkey"></td>
627 <td></td>
628 <td class="paramtype">int&nbsp;</td>
629 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
630 </tr>
631 <tr>
632 <td></td>
633 <td>)</td>
634 <td></td><td></td><td width="100%"></td>
635 </tr>
636 </table>
637</div>
638<div class="memdoc">
639
640<p>
641This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.
642<p>
643This function is the same as <a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d" title="This function is juset the same as dsfmt_gv_fill_array_close1_open2().">fill_array_close1_open2()</a> except the distribution range.<p>
644<dl compact><dt><b>Parameters:</b></dt><dd>
645 <table border="0" cellspacing="2" cellpadding="0">
646 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
647 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
648 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
649 </table>
650</dl>
651<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d" title="This function is juset the same as dsfmt_gv_fill_array_close1_open2().">fill_array_close1_open2()</a> </dd></dl>
652
653<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00367">gen_rand_array_o0c1()</a>.</p>
654
655<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00395">dsfmt_gv_fill_array_open_close()</a>.</p>
656
657</div>
658</div><p>
659<a class="anchor" name="eed310e17f9f652c1b0ec86298c834c1"></a><!-- doxytag: member="dSFMT.h::dsfmt_fill_array_open_open" ref="eed310e17f9f652c1b0ec86298c834c1" args="(dsfmt_t *dsfmt, double array[], int size)" -->
660<div class="memitem">
661<div class="memproto">
662 <table class="memname">
663 <tr>
664 <td class="memname">void dsfmt_fill_array_open_open </td>
665 <td>(</td>
666 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
667 <td class="paramname"> <em>dsfmt</em>, </td>
668 </tr>
669 <tr>
670 <td class="paramkey"></td>
671 <td></td>
672 <td class="paramtype">double&nbsp;</td>
673 <td class="paramname"> <em>array</em>[], </td>
674 </tr>
675 <tr>
676 <td class="paramkey"></td>
677 <td></td>
678 <td class="paramtype">int&nbsp;</td>
679 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
680 </tr>
681 <tr>
682 <td></td>
683 <td>)</td>
684 <td></td><td></td><td width="100%"></td>
685 </tr>
686 </table>
687</div>
688<div class="memdoc">
689
690<p>
691This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.
692<p>
693This function is the same as <a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d" title="This function is juset the same as dsfmt_gv_fill_array_close1_open2().">fill_array_close1_open2()</a> except the distribution range.<p>
694<dl compact><dt><b>Parameters:</b></dt><dd>
695 <table border="0" cellspacing="2" cellpadding="0">
696 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
697 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
698 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
699 </table>
700</dl>
701<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#98e1c0307c01044eb8d1c5136b59af9d" title="This function is juset the same as dsfmt_gv_fill_array_close1_open2().">fill_array_close1_open2()</a> </dd></dl>
702
703<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00324">gen_rand_array_o0o1()</a>.</p>
704
705<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00427">dsfmt_gv_fill_array_open_open()</a>.</p>
706
707</div>
708</div><p>
709<a class="anchor" name="fccb1e4d75cea7ffe3b45cba53d1e5e0"></a><!-- doxytag: member="dSFMT.h::dsfmt_gen_rand_all" ref="fccb1e4d75cea7ffe3b45cba53d1e5e0" args="(dsfmt_t *dsfmt)" -->
710<div class="memitem">
711<div class="memproto">
712 <table class="memname">
713 <tr>
714 <td class="memname">void dsfmt_gen_rand_all </td>
715 <td>(</td>
716 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
717 <td class="paramname"> <em>dsfmt</em> </td>
718 <td>&nbsp;)&nbsp;</td>
719 <td width="100%"></td>
720 </tr>
721 </table>
722</div>
723<div class="memdoc">
724
725<p>
726This function fills the internal state array with double precision floating point pseudorandom numbers of the IEEE 754 format.
727<p>
728<dl compact><dt><b>Parameters:</b></dt><dd>
729 <table border="0" cellspacing="2" cellpadding="0">
730 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
731 </table>
732</dl>
733
734<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00153">do_recursion()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00051">DSFMT_N</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00163">DSFMT_T::status</a>.</p>
735
736<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00253">dsfmt_genrand_close1_open2()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00341">dsfmt_genrand_open_open()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00232">dsfmt_genrand_uint32()</a>.</p>
737
738</div>
739</div><p>
740<a class="anchor" name="e9bb29b63c46e57725dffa776cf930e7"></a><!-- doxytag: member="dSFMT.h::dsfmt_genrand_close1_open2" ref="e9bb29b63c46e57725dffa776cf930e7" args="(dsfmt_t *dsfmt)" -->
741<div class="memitem">
742<div class="memproto">
743 <table class="memname">
744 <tr>
745 <td class="memname">static double dsfmt_genrand_close1_open2 </td>
746 <td>(</td>
747 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
748 <td class="paramname"> <em>dsfmt</em> </td>
749 <td>&nbsp;)&nbsp;</td>
750 <td width="100%"><code> [inline]</code></td>
751 </tr>
752 </table>
753</div>
754<div class="memdoc">
755
756<p>
757This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2).
758<p>
759This is the primitive and faster than generating numbers in other ranges. <a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a> must be called before this function. <dl compact><dt><b>Parameters:</b></dt><dd>
760 <table border="0" cellspacing="2" cellpadding="0">
761 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt internal state date </td></tr>
762 </table>
763</dl>
764<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
765
766<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00154">W128_T::d</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00509">dsfmt_gen_rand_all()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00164">DSFMT_T::idx</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00163">DSFMT_T::status</a>.</p>
767
768<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00295">dsfmt_genrand_close_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00318">dsfmt_genrand_open_close()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00283">dsfmt_gv_genrand_close1_open2()</a>.</p>
769
770</div>
771</div><p>
772<a class="anchor" name="989a29c7d5616755721ee41f0d1c3982"></a><!-- doxytag: member="dSFMT.h::dsfmt_genrand_close_open" ref="989a29c7d5616755721ee41f0d1c3982" args="(dsfmt_t *dsfmt)" -->
773<div class="memitem">
774<div class="memproto">
775 <table class="memname">
776 <tr>
777 <td class="memname">static double dsfmt_genrand_close_open </td>
778 <td>(</td>
779 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
780 <td class="paramname"> <em>dsfmt</em> </td>
781 <td>&nbsp;)&nbsp;</td>
782 <td width="100%"><code> [inline]</code></td>
783 </tr>
784 </table>
785</div>
786<div class="memdoc">
787
788<p>
789This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1).
790<p>
791<a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a> must be called before this function. <dl compact><dt><b>Parameters:</b></dt><dd>
792 <table border="0" cellspacing="2" cellpadding="0">
793 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt internal state date </td></tr>
794 </table>
795</dl>
796<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
797
798<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00253">dsfmt_genrand_close1_open2()</a>.</p>
799
800</div>
801</div><p>
802<a class="anchor" name="c8916cdece1e0ed671077ba869aae509"></a><!-- doxytag: member="dSFMT.h::dsfmt_genrand_open_close" ref="c8916cdece1e0ed671077ba869aae509" args="(dsfmt_t *dsfmt)" -->
803<div class="memitem">
804<div class="memproto">
805 <table class="memname">
806 <tr>
807 <td class="memname">static double dsfmt_genrand_open_close </td>
808 <td>(</td>
809 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
810 <td class="paramname"> <em>dsfmt</em> </td>
811 <td>&nbsp;)&nbsp;</td>
812 <td width="100%"><code> [inline]</code></td>
813 </tr>
814 </table>
815</div>
816<div class="memdoc">
817
818<p>
819This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1].
820<p>
821<a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a> must be called before this function. <dl compact><dt><b>Parameters:</b></dt><dd>
822 <table border="0" cellspacing="2" cellpadding="0">
823 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt internal state date </td></tr>
824 </table>
825</dl>
826<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
827
828<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00253">dsfmt_genrand_close1_open2()</a>.</p>
829
830</div>
831</div><p>
832<a class="anchor" name="147a0a05c969a4cb5d92ce3963b839c2"></a><!-- doxytag: member="dSFMT.h::dsfmt_genrand_open_open" ref="147a0a05c969a4cb5d92ce3963b839c2" args="(dsfmt_t *dsfmt)" -->
833<div class="memitem">
834<div class="memproto">
835 <table class="memname">
836 <tr>
837 <td class="memname">static double dsfmt_genrand_open_open </td>
838 <td>(</td>
839 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
840 <td class="paramname"> <em>dsfmt</em> </td>
841 <td>&nbsp;)&nbsp;</td>
842 <td width="100%"><code> [inline]</code></td>
843 </tr>
844 </table>
845</div>
846<div class="memdoc">
847
848<p>
849This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1).
850<p>
851<a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a> must be called before this function. <dl compact><dt><b>Parameters:</b></dt><dd>
852 <table border="0" cellspacing="2" cellpadding="0">
853 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt internal state date </td></tr>
854 </table>
855</dl>
856<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
857
858<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00154">W128_T::d</a>, <a class="el" href="d_s_f_m_t_8c-source.html#l00509">dsfmt_gen_rand_all()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00164">DSFMT_T::idx</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00163">DSFMT_T::status</a>.</p>
859
860<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00364">dsfmt_gv_genrand_open_open()</a>.</p>
861
862</div>
863</div><p>
864<a class="anchor" name="49fc44ce077ee57594b8102eb04145d9"></a><!-- doxytag: member="dSFMT.h::dsfmt_genrand_uint32" ref="49fc44ce077ee57594b8102eb04145d9" args="(dsfmt_t *dsfmt)" -->
865<div class="memitem">
866<div class="memproto">
867 <table class="memname">
868 <tr>
869 <td class="memname">static uint32_t dsfmt_genrand_uint32 </td>
870 <td>(</td>
871 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
872 <td class="paramname"> <em>dsfmt</em> </td>
873 <td>&nbsp;)&nbsp;</td>
874 <td width="100%"><code> [inline]</code></td>
875 </tr>
876 </table>
877</div>
878<div class="memdoc">
879
880<p>
881This function generates and returns unsigned 32-bit integer.
882<p>
883This is slower than SFMT, only for convenience usage. <a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a> must be called before this function. <dl compact><dt><b>Parameters:</b></dt><dd>
884 <table border="0" cellspacing="2" cellpadding="0">
885 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt internal state date </td></tr>
886 </table>
887</dl>
888<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
889
890<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00509">dsfmt_gen_rand_all()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>.</p>
891
892<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00272">dsfmt_gv_genrand_uint32()</a>.</p>
893
894</div>
895</div><p>
896<a class="anchor" name="f181eeb77513e5a399dd2c585cfaa055"></a><!-- doxytag: member="dSFMT.h::dsfmt_get_idstring" ref="f181eeb77513e5a399dd2c585cfaa055" args="(void)" -->
897<div class="memitem">
898<div class="memproto">
899 <table class="memname">
900 <tr>
901 <td class="memname">const char* dsfmt_get_idstring </td>
902 <td>(</td>
903 <td class="paramtype">void&nbsp;</td>
904 <td class="paramname"> </td>
905 <td>&nbsp;)&nbsp;</td>
906 <td width="100%"></td>
907 </tr>
908 </table>
909</div>
910<div class="memdoc">
911
912<p>
913This function returns the identification string.
914<p>
915The string shows the Mersenne exponent, and all parameters of this generator. <dl class="return" compact><dt><b>Returns:</b></dt><dd>id string. </dd></dl>
916
917<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00499">get_idstring()</a>.</p>
918
919</div>
920</div><p>
921<a class="anchor" name="f49cc1703b4cc1d0bffbd895917c303a"></a><!-- doxytag: member="dSFMT.h::dsfmt_get_min_array_size" ref="f49cc1703b4cc1d0bffbd895917c303a" args="(void)" -->
922<div class="memitem">
923<div class="memproto">
924 <table class="memname">
925 <tr>
926 <td class="memname">int dsfmt_get_min_array_size </td>
927 <td>(</td>
928 <td class="paramtype">void&nbsp;</td>
929 <td class="paramname"> </td>
930 <td>&nbsp;)&nbsp;</td>
931 <td width="100%"></td>
932 </tr>
933 </table>
934</div>
935<div class="memdoc">
936
937<p>
938This function returns the minimum size of array used for <b>fill_array</b> functions.
939<p>
940<dl class="return" compact><dt><b>Returns:</b></dt><dd>minimum size of array used for fill_array functions. </dd></dl>
941
942<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>.</p>
943
944<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00508">get_min_array_size()</a>.</p>
945
946</div>
947</div><p>
948<a class="anchor" name="e0ed5a2ba6eb6f21fa591a54020af3ac"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_fill_array_close1_open2" ref="e0ed5a2ba6eb6f21fa591a54020af3ac" args="(double array[], int size)" -->
949<div class="memitem">
950<div class="memproto">
951 <table class="memname">
952 <tr>
953 <td class="memname">static void dsfmt_gv_fill_array_close1_open2 </td>
954 <td>(</td>
955 <td class="paramtype">double&nbsp;</td>
956 <td class="paramname"> <em>array</em>[], </td>
957 </tr>
958 <tr>
959 <td class="paramkey"></td>
960 <td></td>
961 <td class="paramtype">int&nbsp;</td>
962 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
963 </tr>
964 <tr>
965 <td></td>
966 <td>)</td>
967 <td></td><td></td><td width="100%"><code> [inline]</code></td>
968 </tr>
969 </table>
970</div>
971<div class="memdoc">
972
973<p>
974This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.
975<p>
976This function is the same as <a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a> except that this function uses <b>global</b> variables. <dl compact><dt><b>Parameters:</b></dt><dd>
977 <table border="0" cellspacing="2" cellpadding="0">
978 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
979 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
980 </table>
981</dl>
982<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a> </dd></dl>
983
984<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00555">dsfmt_fill_array_close1_open2()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
985
986<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00618">fill_array_close1_open2()</a>.</p>
987
988</div>
989</div><p>
990<a class="anchor" name="27e4b624752149e0450056a317d09214"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_fill_array_close_open" ref="27e4b624752149e0450056a317d09214" args="(double array[], int size)" -->
991<div class="memitem">
992<div class="memproto">
993 <table class="memname">
994 <tr>
995 <td class="memname">static void dsfmt_gv_fill_array_close_open </td>
996 <td>(</td>
997 <td class="paramtype">double&nbsp;</td>
998 <td class="paramname"> <em>array</em>[], </td>
999 </tr>
1000 <tr>
1001 <td class="paramkey"></td>
1002 <td></td>
1003 <td class="paramtype">int&nbsp;</td>
1004 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1005 </tr>
1006 <tr>
1007 <td></td>
1008 <td>)</td>
1009 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1010 </tr>
1011 </table>
1012</div>
1013<div class="memdoc">
1014
1015<p>
1016This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.
1017<p>
1018This function is the same as <a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> except the distribution range. This function uses <b>global</b> variables. <dl compact><dt><b>Parameters:</b></dt><dd>
1019 <table border="0" cellspacing="2" cellpadding="0">
1020 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1021 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1022 </table>
1023</dl>
1024<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a> <p>
1025<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1026
1027<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00591">dsfmt_fill_array_close_open()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
1028
1029<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00593">fill_array_close_open()</a>.</p>
1030
1031</div>
1032</div><p>
1033<a class="anchor" name="92deacd8f90f332a130ab5a6fdae8348"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_fill_array_open_close" ref="92deacd8f90f332a130ab5a6fdae8348" args="(double array[], int size)" -->
1034<div class="memitem">
1035<div class="memproto">
1036 <table class="memname">
1037 <tr>
1038 <td class="memname">static void dsfmt_gv_fill_array_open_close </td>
1039 <td>(</td>
1040 <td class="paramtype">double&nbsp;</td>
1041 <td class="paramname"> <em>array</em>[], </td>
1042 </tr>
1043 <tr>
1044 <td class="paramkey"></td>
1045 <td></td>
1046 <td class="paramtype">int&nbsp;</td>
1047 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1048 </tr>
1049 <tr>
1050 <td></td>
1051 <td>)</td>
1052 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1053 </tr>
1054 </table>
1055</div>
1056<div class="memdoc">
1057
1058<p>
1059This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.
1060<p>
1061This function is the same as <a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> except the distribution range. This function uses <b>global</b> variables. <dl compact><dt><b>Parameters:</b></dt><dd>
1062 <table border="0" cellspacing="2" cellpadding="0">
1063 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1064 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1065 </table>
1066</dl>
1067<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a> and <p>
1068<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1069
1070<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00573">dsfmt_fill_array_open_close()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
1071
1072<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00580">fill_array_open_close()</a>.</p>
1073
1074</div>
1075</div><p>
1076<a class="anchor" name="871323d18c3525787f63fcf071c4787d"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_fill_array_open_open" ref="871323d18c3525787f63fcf071c4787d" args="(double array[], int size)" -->
1077<div class="memitem">
1078<div class="memproto">
1079 <table class="memname">
1080 <tr>
1081 <td class="memname">static void dsfmt_gv_fill_array_open_open </td>
1082 <td>(</td>
1083 <td class="paramtype">double&nbsp;</td>
1084 <td class="paramname"> <em>array</em>[], </td>
1085 </tr>
1086 <tr>
1087 <td class="paramkey"></td>
1088 <td></td>
1089 <td class="paramtype">int&nbsp;</td>
1090 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1091 </tr>
1092 <tr>
1093 <td></td>
1094 <td>)</td>
1095 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1096 </tr>
1097 </table>
1098</div>
1099<div class="memdoc">
1100
1101<p>
1102This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.
1103<p>
1104This function is the same as <a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> except the distribution range. This function uses <b>global</b> variables. <dl compact><dt><b>Parameters:</b></dt><dd>
1105 <table border="0" cellspacing="2" cellpadding="0">
1106 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1107 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1108 </table>
1109</dl>
1110<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a> <p>
1111<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1112
1113<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00609">dsfmt_fill_array_open_open()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
1114
1115<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00606">fill_array_open_open()</a>.</p>
1116
1117</div>
1118</div><p>
1119<a class="anchor" name="f298572e9f2449e59ddf486977006621"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_genrand_close1_open2" ref="f298572e9f2449e59ddf486977006621" args="(void)" -->
1120<div class="memitem">
1121<div class="memproto">
1122 <table class="memname">
1123 <tr>
1124 <td class="memname">static double dsfmt_gv_genrand_close1_open2 </td>
1125 <td>(</td>
1126 <td class="paramtype">void&nbsp;</td>
1127 <td class="paramname"> </td>
1128 <td>&nbsp;)&nbsp;</td>
1129 <td width="100%"><code> [inline]</code></td>
1130 </tr>
1131 </table>
1132</div>
1133<div class="memdoc">
1134
1135<p>
1136This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2).
1137<p>
1138<a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a> must be called before this function. This function uses <b>global</b> variables. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
1139
1140<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00253">dsfmt_genrand_close1_open2()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
1141
1142<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00306">dsfmt_gv_genrand_close_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00329">dsfmt_gv_genrand_open_close()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00537">genrand_close1_open2()</a>.</p>
1143
1144</div>
1145</div><p>
1146<a class="anchor" name="e57b11ef3fdcf04e84fc0298166aab82"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_genrand_close_open" ref="e57b11ef3fdcf04e84fc0298166aab82" args="(void)" -->
1147<div class="memitem">
1148<div class="memproto">
1149 <table class="memname">
1150 <tr>
1151 <td class="memname">static double dsfmt_gv_genrand_close_open </td>
1152 <td>(</td>
1153 <td class="paramtype">void&nbsp;</td>
1154 <td class="paramname"> </td>
1155 <td>&nbsp;)&nbsp;</td>
1156 <td width="100%"><code> [inline]</code></td>
1157 </tr>
1158 </table>
1159</div>
1160<div class="memdoc">
1161
1162<p>
1163This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1).
1164<p>
1165<a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a> must be called before this function. This function uses <b>global</b> variables. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
1166
1167<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00283">dsfmt_gv_genrand_close1_open2()</a>.</p>
1168
1169<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00547">genrand_close_open()</a>.</p>
1170
1171</div>
1172</div><p>
1173<a class="anchor" name="fcdb7f3f26ca2d4a8f4e3854209fd4dd"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_genrand_open_close" ref="fcdb7f3f26ca2d4a8f4e3854209fd4dd" args="(void)" -->
1174<div class="memitem">
1175<div class="memproto">
1176 <table class="memname">
1177 <tr>
1178 <td class="memname">static double dsfmt_gv_genrand_open_close </td>
1179 <td>(</td>
1180 <td class="paramtype">void&nbsp;</td>
1181 <td class="paramname"> </td>
1182 <td>&nbsp;)&nbsp;</td>
1183 <td width="100%"><code> [inline]</code></td>
1184 </tr>
1185 </table>
1186</div>
1187<div class="memdoc">
1188
1189<p>
1190This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1].
1191<p>
1192<a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a> must be called before this function. This function uses <b>global</b> variables. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
1193
1194<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00283">dsfmt_gv_genrand_close1_open2()</a>.</p>
1195
1196<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00557">genrand_open_close()</a>.</p>
1197
1198</div>
1199</div><p>
1200<a class="anchor" name="f6dbcef408462da1f40edd1a1ea5dcd3"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_genrand_open_open" ref="f6dbcef408462da1f40edd1a1ea5dcd3" args="(void)" -->
1201<div class="memitem">
1202<div class="memproto">
1203 <table class="memname">
1204 <tr>
1205 <td class="memname">static double dsfmt_gv_genrand_open_open </td>
1206 <td>(</td>
1207 <td class="paramtype">void&nbsp;</td>
1208 <td class="paramname"> </td>
1209 <td>&nbsp;)&nbsp;</td>
1210 <td width="100%"><code> [inline]</code></td>
1211 </tr>
1212 </table>
1213</div>
1214<div class="memdoc">
1215
1216<p>
1217This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1).
1218<p>
1219<a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a> must be called before this function. This function uses <b>global</b> variables. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
1220
1221<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00341">dsfmt_genrand_open_open()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
1222
1223<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00567">genrand_open_open()</a>.</p>
1224
1225</div>
1226</div><p>
1227<a class="anchor" name="de87b39b59a4f8c2e09c5ad25a53b515"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_genrand_uint32" ref="de87b39b59a4f8c2e09c5ad25a53b515" args="(void)" -->
1228<div class="memitem">
1229<div class="memproto">
1230 <table class="memname">
1231 <tr>
1232 <td class="memname">static uint32_t dsfmt_gv_genrand_uint32 </td>
1233 <td>(</td>
1234 <td class="paramtype">void&nbsp;</td>
1235 <td class="paramname"> </td>
1236 <td>&nbsp;)&nbsp;</td>
1237 <td width="100%"><code> [inline]</code></td>
1238 </tr>
1239 </table>
1240</div>
1241<div class="memdoc">
1242
1243<p>
1244This function generates and returns unsigned 32-bit integer.
1245<p>
1246This is slower than SFMT, only for convenience usage. <a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a> or <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a> must be called before this function. This function uses <b>global</b> variables. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
1247
1248<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00232">dsfmt_genrand_uint32()</a>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>.</p>
1249
1250</div>
1251</div><p>
1252<a class="anchor" name="4f989ee92f5e4c8f71570dbb9d19e838"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_init_by_array" ref="4f989ee92f5e4c8f71570dbb9d19e838" args="(uint32_t init_key[], int key_length)" -->
1253<div class="memitem">
1254<div class="memproto">
1255 <table class="memname">
1256 <tr>
1257 <td class="memname">static void dsfmt_gv_init_by_array </td>
1258 <td>(</td>
1259 <td class="paramtype">uint32_t&nbsp;</td>
1260 <td class="paramname"> <em>init_key</em>[], </td>
1261 </tr>
1262 <tr>
1263 <td class="paramkey"></td>
1264 <td></td>
1265 <td class="paramtype">int&nbsp;</td>
1266 <td class="paramname"> <em>key_length</em></td><td>&nbsp;</td>
1267 </tr>
1268 <tr>
1269 <td></td>
1270 <td>)</td>
1271 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1272 </tr>
1273 </table>
1274</div>
1275<div class="memdoc">
1276
1277<p>
1278This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
1279<p>
1280This function uses <b>global</b> variables. <dl compact><dt><b>Parameters:</b></dt><dd>
1281 <table border="0" cellspacing="2" cellpadding="0">
1282 <tr><td valign="top"></td><td valign="top"><em>init_key</em>&nbsp;</td><td>the array of 32-bit integers, used as a seed. </td></tr>
1283 <tr><td valign="top"></td><td valign="top"><em>key_length</em>&nbsp;</td><td>the length of init_key. see also </td></tr>
1284 </table>
1285</dl>
1286<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a> </dd></dl>
1287
1288<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00458">dsfmt_init_by_array()</a>.</p>
1289
1290<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00527">init_by_array()</a>.</p>
1291
1292</div>
1293</div><p>
1294<a class="anchor" name="74e3849c0ae0929d57c9c9ac52d58cc8"></a><!-- doxytag: member="dSFMT.h::dsfmt_gv_init_gen_rand" ref="74e3849c0ae0929d57c9c9ac52d58cc8" args="(uint32_t seed)" -->
1295<div class="memitem">
1296<div class="memproto">
1297 <table class="memname">
1298 <tr>
1299 <td class="memname">static void dsfmt_gv_init_gen_rand </td>
1300 <td>(</td>
1301 <td class="paramtype">uint32_t&nbsp;</td>
1302 <td class="paramname"> <em>seed</em> </td>
1303 <td>&nbsp;)&nbsp;</td>
1304 <td width="100%"><code> [inline]</code></td>
1305 </tr>
1306 </table>
1307</div>
1308<div class="memdoc">
1309
1310<p>
1311This function initializes the internal state array with a 32-bit integer seed.
1312<p>
1313This function uses <b>global</b> variables. <dl compact><dt><b>Parameters:</b></dt><dd>
1314 <table border="0" cellspacing="2" cellpadding="0">
1315 <tr><td valign="top"></td><td valign="top"><em>seed</em>&nbsp;</td><td>a 32-bit integer used as the seed. see also </td></tr>
1316 </table>
1317</dl>
1318<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a> </dd></dl>
1319
1320<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00020">dsfmt_global_data</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00437">dsfmt_init_gen_rand()</a>.</p>
1321
1322<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00517">init_gen_rand()</a>.</p>
1323
1324</div>
1325</div><p>
1326<a class="anchor" name="0914ba62e9a46b6a1f04f27caa83ba87"></a><!-- doxytag: member="dSFMT.h::dsfmt_init_by_array" ref="0914ba62e9a46b6a1f04f27caa83ba87" args="(dsfmt_t *dsfmt, uint32_t init_key[], int key_length)" -->
1327<div class="memitem">
1328<div class="memproto">
1329 <table class="memname">
1330 <tr>
1331 <td class="memname">static void dsfmt_init_by_array </td>
1332 <td>(</td>
1333 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
1334 <td class="paramname"> <em>dsfmt</em>, </td>
1335 </tr>
1336 <tr>
1337 <td class="paramkey"></td>
1338 <td></td>
1339 <td class="paramtype">uint32_t&nbsp;</td>
1340 <td class="paramname"> <em>init_key</em>[], </td>
1341 </tr>
1342 <tr>
1343 <td class="paramkey"></td>
1344 <td></td>
1345 <td class="paramtype">int&nbsp;</td>
1346 <td class="paramname"> <em>key_length</em></td><td>&nbsp;</td>
1347 </tr>
1348 <tr>
1349 <td></td>
1350 <td>)</td>
1351 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1352 </tr>
1353 </table>
1354</div>
1355<div class="memdoc">
1356
1357<p>
1358This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
1359<p>
1360<dl compact><dt><b>Parameters:</b></dt><dd>
1361 <table border="0" cellspacing="2" cellpadding="0">
1362 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector </td></tr>
1363 <tr><td valign="top"></td><td valign="top"><em>init_key</em>&nbsp;</td><td>the array of 32-bit integers, used as a seed. </td></tr>
1364 <tr><td valign="top"></td><td valign="top"><em>key_length</em>&nbsp;</td><td>the length of init_key. </td></tr>
1365 </table>
1366</dl>
1367
1368<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00656">dsfmt_chk_init_by_array()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00041">DSFMT_MEXP</a>.</p>
1369
1370<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00471">dsfmt_gv_init_by_array()</a>.</p>
1371
1372</div>
1373</div><p>
1374<a class="anchor" name="8df497c74e469b5f42e8a22d93124d41"></a><!-- doxytag: member="dSFMT.h::dsfmt_init_gen_rand" ref="8df497c74e469b5f42e8a22d93124d41" args="(dsfmt_t *dsfmt, uint32_t seed)" -->
1375<div class="memitem">
1376<div class="memproto">
1377 <table class="memname">
1378 <tr>
1379 <td class="memname">static void dsfmt_init_gen_rand </td>
1380 <td>(</td>
1381 <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *&nbsp;</td>
1382 <td class="paramname"> <em>dsfmt</em>, </td>
1383 </tr>
1384 <tr>
1385 <td class="paramkey"></td>
1386 <td></td>
1387 <td class="paramtype">uint32_t&nbsp;</td>
1388 <td class="paramname"> <em>seed</em></td><td>&nbsp;</td>
1389 </tr>
1390 <tr>
1391 <td></td>
1392 <td>)</td>
1393 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1394 </tr>
1395 </table>
1396</div>
1397<div class="memdoc">
1398
1399<p>
1400This function initializes the internal state array with a 32-bit integer seed.
1401<p>
1402<dl compact><dt><b>Parameters:</b></dt><dd>
1403 <table border="0" cellspacing="2" cellpadding="0">
1404 <tr><td valign="top"></td><td valign="top"><em>dsfmt</em>&nbsp;</td><td>dsfmt state vector. </td></tr>
1405 <tr><td valign="top"></td><td valign="top"><em>seed</em>&nbsp;</td><td>a 32-bit integer used as the seed. </td></tr>
1406 </table>
1407</dl>
1408
1409<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00041">DSFMT_MEXP</a>.</p>
1410
1411<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00447">dsfmt_gv_init_gen_rand()</a>.</p>
1412
1413</div>
1414</div><p>
1415<a class="anchor" name="98e1c0307c01044eb8d1c5136b59af9d"></a><!-- doxytag: member="dSFMT.h::fill_array_close1_open2" ref="98e1c0307c01044eb8d1c5136b59af9d" args="(double array[], int size)" -->
1416<div class="memitem">
1417<div class="memproto">
1418 <table class="memname">
1419 <tr>
1420 <td class="memname">static void fill_array_close1_open2 </td>
1421 <td>(</td>
1422 <td class="paramtype">double&nbsp;</td>
1423 <td class="paramname"> <em>array</em>[], </td>
1424 </tr>
1425 <tr>
1426 <td class="paramkey"></td>
1427 <td></td>
1428 <td class="paramtype">int&nbsp;</td>
1429 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1430 </tr>
1431 <tr>
1432 <td></td>
1433 <td>)</td>
1434 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1435 </tr>
1436 </table>
1437</div>
1438<div class="memdoc">
1439
1440<p>
1441This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a>.
1442<p>
1443<dl compact><dt><b>Parameters:</b></dt><dd>
1444 <table border="0" cellspacing="2" cellpadding="0">
1445 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1446 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1447 </table>
1448</dl>
1449<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a>, <p>
1450<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1451
1452<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00379">dsfmt_gv_fill_array_close1_open2()</a>.</p>
1453
1454</div>
1455</div><p>
1456<a class="anchor" name="5a6dd5166f4dcc137bce8f1aeea758a5"></a><!-- doxytag: member="dSFMT.h::fill_array_close_open" ref="5a6dd5166f4dcc137bce8f1aeea758a5" args="(double array[], int size)" -->
1457<div class="memitem">
1458<div class="memproto">
1459 <table class="memname">
1460 <tr>
1461 <td class="memname">static void fill_array_close_open </td>
1462 <td>(</td>
1463 <td class="paramtype">double&nbsp;</td>
1464 <td class="paramname"> <em>array</em>[], </td>
1465 </tr>
1466 <tr>
1467 <td class="paramkey"></td>
1468 <td></td>
1469 <td class="paramtype">int&nbsp;</td>
1470 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1471 </tr>
1472 <tr>
1473 <td></td>
1474 <td>)</td>
1475 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1476 </tr>
1477 </table>
1478</div>
1479<div class="memdoc">
1480
1481<p>
1482This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#27e4b624752149e0450056a317d09214" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close_open()</a>.
1483<p>
1484<dl compact><dt><b>Parameters:</b></dt><dd>
1485 <table border="0" cellspacing="2" cellpadding="0">
1486 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1487 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1488 </table>
1489</dl>
1490<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#27e4b624752149e0450056a317d09214" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close_open()</a>, <p>
1491<a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a>, <p>
1492<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1493
1494<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00411">dsfmt_gv_fill_array_close_open()</a>.</p>
1495
1496</div>
1497</div><p>
1498<a class="anchor" name="4d6c1e2049214ae128c1f9226ad683b9"></a><!-- doxytag: member="dSFMT.h::fill_array_open_close" ref="4d6c1e2049214ae128c1f9226ad683b9" args="(double array[], int size)" -->
1499<div class="memitem">
1500<div class="memproto">
1501 <table class="memname">
1502 <tr>
1503 <td class="memname">static void fill_array_open_close </td>
1504 <td>(</td>
1505 <td class="paramtype">double&nbsp;</td>
1506 <td class="paramname"> <em>array</em>[], </td>
1507 </tr>
1508 <tr>
1509 <td class="paramkey"></td>
1510 <td></td>
1511 <td class="paramtype">int&nbsp;</td>
1512 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1513 </tr>
1514 <tr>
1515 <td></td>
1516 <td>)</td>
1517 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1518 </tr>
1519 </table>
1520</div>
1521<div class="memdoc">
1522
1523<p>
1524This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#92deacd8f90f332a130ab5a6fdae8348" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_open_close()</a>.
1525<p>
1526<dl compact><dt><b>Parameters:</b></dt><dd>
1527 <table border="0" cellspacing="2" cellpadding="0">
1528 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1529 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1530 </table>
1531</dl>
1532<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#92deacd8f90f332a130ab5a6fdae8348" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_open_close()</a>, <p>
1533<a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a>, <p>
1534<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1535
1536<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00395">dsfmt_gv_fill_array_open_close()</a>.</p>
1537
1538</div>
1539</div><p>
1540<a class="anchor" name="deaef304a7f9f262588bdbcf780feb42"></a><!-- doxytag: member="dSFMT.h::fill_array_open_open" ref="deaef304a7f9f262588bdbcf780feb42" args="(double array[], int size)" -->
1541<div class="memitem">
1542<div class="memproto">
1543 <table class="memname">
1544 <tr>
1545 <td class="memname">static void fill_array_open_open </td>
1546 <td>(</td>
1547 <td class="paramtype">double&nbsp;</td>
1548 <td class="paramname"> <em>array</em>[], </td>
1549 </tr>
1550 <tr>
1551 <td class="paramkey"></td>
1552 <td></td>
1553 <td class="paramtype">int&nbsp;</td>
1554 <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1555 </tr>
1556 <tr>
1557 <td></td>
1558 <td>)</td>
1559 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1560 </tr>
1561 </table>
1562</div>
1563<div class="memdoc">
1564
1565<p>
1566This function is juset the same as <a class="el" href="d_s_f_m_t_8h.html#871323d18c3525787f63fcf071c4787d" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_open_open()</a>.
1567<p>
1568<dl compact><dt><b>Parameters:</b></dt><dd>
1569 <table border="0" cellspacing="2" cellpadding="0">
1570 <tr><td valign="top"></td><td valign="top"><em>array</em>&nbsp;</td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
1571 <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
1572 </table>
1573</dl>
1574<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#871323d18c3525787f63fcf071c4787d" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_open_open()</a>, <p>
1575<a class="el" href="d_s_f_m_t_8h.html#beef257039f3b95b7475bbecdb521b89" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close1_open2()</a>, <p>
1576<a class="el" href="d_s_f_m_t_8h.html#e0ed5a2ba6eb6f21fa591a54020af3ac" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_gv_fill_array_close1_open2()</a> </dd></dl>
1577
1578<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00427">dsfmt_gv_fill_array_open_open()</a>.</p>
1579
1580</div>
1581</div><p>
1582<a class="anchor" name="01bce92db767a0f976b56f88f8f89515"></a><!-- doxytag: member="dSFMT.h::genrand_close1_open2" ref="01bce92db767a0f976b56f88f8f89515" args="(void)" -->
1583<div class="memitem">
1584<div class="memproto">
1585 <table class="memname">
1586 <tr>
1587 <td class="memname">static double genrand_close1_open2 </td>
1588 <td>(</td>
1589 <td class="paramtype">void&nbsp;</td>
1590 <td class="paramname"> </td>
1591 <td>&nbsp;)&nbsp;</td>
1592 <td width="100%"><code> [inline]</code></td>
1593 </tr>
1594 </table>
1595</div>
1596<div class="memdoc">
1597
1598<p>
1599This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f298572e9f2449e59ddf486977006621" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_close1_open2()</a>.
1600<p>
1601<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point number. see also </dd></dl>
1602<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#e9bb29b63c46e57725dffa776cf930e7" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_genrand_close1_open2()</a> <p>
1603<a class="el" href="d_s_f_m_t_8h.html#f298572e9f2449e59ddf486977006621" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_close1_open2()</a> </dd></dl>
1604
1605<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00283">dsfmt_gv_genrand_close1_open2()</a>.</p>
1606
1607</div>
1608</div><p>
1609<a class="anchor" name="188b24295a56aa56f823c7dfb0615971"></a><!-- doxytag: member="dSFMT.h::genrand_close_open" ref="188b24295a56aa56f823c7dfb0615971" args="(void)" -->
1610<div class="memitem">
1611<div class="memproto">
1612 <table class="memname">
1613 <tr>
1614 <td class="memname">static double genrand_close_open </td>
1615 <td>(</td>
1616 <td class="paramtype">void&nbsp;</td>
1617 <td class="paramname"> </td>
1618 <td>&nbsp;)&nbsp;</td>
1619 <td width="100%"><code> [inline]</code></td>
1620 </tr>
1621 </table>
1622</div>
1623<div class="memdoc">
1624
1625<p>
1626This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#e57b11ef3fdcf04e84fc0298166aab82" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_close_open()</a>.
1627<p>
1628<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point number. see also </dd></dl>
1629<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#989a29c7d5616755721ee41f0d1c3982" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_genrand_close_open()</a> <p>
1630<a class="el" href="d_s_f_m_t_8h.html#e57b11ef3fdcf04e84fc0298166aab82" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_close_open()</a> </dd></dl>
1631
1632<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00306">dsfmt_gv_genrand_close_open()</a>.</p>
1633
1634</div>
1635</div><p>
1636<a class="anchor" name="b24d54ba54b0249c02200a7f3232b342"></a><!-- doxytag: member="dSFMT.h::genrand_open_close" ref="b24d54ba54b0249c02200a7f3232b342" args="(void)" -->
1637<div class="memitem">
1638<div class="memproto">
1639 <table class="memname">
1640 <tr>
1641 <td class="memname">static double genrand_open_close </td>
1642 <td>(</td>
1643 <td class="paramtype">void&nbsp;</td>
1644 <td class="paramname"> </td>
1645 <td>&nbsp;)&nbsp;</td>
1646 <td width="100%"><code> [inline]</code></td>
1647 </tr>
1648 </table>
1649</div>
1650<div class="memdoc">
1651
1652<p>
1653This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#fcdb7f3f26ca2d4a8f4e3854209fd4dd" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_open_close()</a>.
1654<p>
1655<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point number. see also </dd></dl>
1656<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#c8916cdece1e0ed671077ba869aae509" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_genrand_open_close()</a> <p>
1657<a class="el" href="d_s_f_m_t_8h.html#fcdb7f3f26ca2d4a8f4e3854209fd4dd" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_open_close()</a> </dd></dl>
1658
1659<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00329">dsfmt_gv_genrand_open_close()</a>.</p>
1660
1661</div>
1662</div><p>
1663<a class="anchor" name="902ef40cb5e9e3caad2cfb478224c071"></a><!-- doxytag: member="dSFMT.h::genrand_open_open" ref="902ef40cb5e9e3caad2cfb478224c071" args="(void)" -->
1664<div class="memitem">
1665<div class="memproto">
1666 <table class="memname">
1667 <tr>
1668 <td class="memname">static double genrand_open_open </td>
1669 <td>(</td>
1670 <td class="paramtype">void&nbsp;</td>
1671 <td class="paramname"> </td>
1672 <td>&nbsp;)&nbsp;</td>
1673 <td width="100%"><code> [inline]</code></td>
1674 </tr>
1675 </table>
1676</div>
1677<div class="memdoc">
1678
1679<p>
1680This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f6dbcef408462da1f40edd1a1ea5dcd3" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_open_open()</a>.
1681<p>
1682<dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point number. see also </dd></dl>
1683<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#147a0a05c969a4cb5d92ce3963b839c2" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_genrand_open_open()</a> <p>
1684<a class="el" href="d_s_f_m_t_8h.html#f6dbcef408462da1f40edd1a1ea5dcd3" title="This function generates and returns double precision pseudorandom number which distributes...">dsfmt_gv_genrand_open_open()</a> </dd></dl>
1685
1686<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00364">dsfmt_gv_genrand_open_open()</a>.</p>
1687
1688</div>
1689</div><p>
1690<a class="anchor" name="2792d3dd76b6ae051d60830b676622ba"></a><!-- doxytag: member="dSFMT.h::get_idstring" ref="2792d3dd76b6ae051d60830b676622ba" args="(void)" -->
1691<div class="memitem">
1692<div class="memproto">
1693 <table class="memname">
1694 <tr>
1695 <td class="memname">static const char * get_idstring </td>
1696 <td>(</td>
1697 <td class="paramtype">void&nbsp;</td>
1698 <td class="paramname"> </td>
1699 <td>&nbsp;)&nbsp;</td>
1700 <td width="100%"><code> [inline]</code></td>
1701 </tr>
1702 </table>
1703</div>
1704<div class="memdoc">
1705
1706<p>
1707This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f181eeb77513e5a399dd2c585cfaa055" title="This function returns the identification string.">dsfmt_get_idstring()</a>.
1708<p>
1709<dl class="return" compact><dt><b>Returns:</b></dt><dd>id string. see also </dd></dl>
1710<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#f181eeb77513e5a399dd2c585cfaa055" title="This function returns the identification string.">dsfmt_get_idstring()</a> </dd></dl>
1711
1712<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00491">dsfmt_get_idstring()</a>.</p>
1713
1714</div>
1715</div><p>
1716<a class="anchor" name="75ebedeed1c3d5e8576c53e5ce215fea"></a><!-- doxytag: member="dSFMT.h::get_min_array_size" ref="75ebedeed1c3d5e8576c53e5ce215fea" args="(void)" -->
1717<div class="memitem">
1718<div class="memproto">
1719 <table class="memname">
1720 <tr>
1721 <td class="memname">static int get_min_array_size </td>
1722 <td>(</td>
1723 <td class="paramtype">void&nbsp;</td>
1724 <td class="paramname"> </td>
1725 <td>&nbsp;)&nbsp;</td>
1726 <td width="100%"><code> [inline]</code></td>
1727 </tr>
1728 </table>
1729</div>
1730<div class="memdoc">
1731
1732<p>
1733This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#f49cc1703b4cc1d0bffbd895917c303a" title="This function returns the minimum size of array used for fill_array functions.">dsfmt_get_min_array_size()</a>.
1734<p>
1735<dl class="return" compact><dt><b>Returns:</b></dt><dd>minimum size of array used for fill_array functions. see also </dd></dl>
1736<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#f49cc1703b4cc1d0bffbd895917c303a" title="This function returns the minimum size of array used for fill_array functions.">dsfmt_get_min_array_size()</a> </dd></dl>
1737
1738<p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00500">dsfmt_get_min_array_size()</a>.</p>
1739
1740</div>
1741</div><p>
1742<a class="anchor" name="5f12cfe61e34b29a9c4f88f097712205"></a><!-- doxytag: member="dSFMT.h::init_by_array" ref="5f12cfe61e34b29a9c4f88f097712205" args="(uint32_t init_key[], int key_length)" -->
1743<div class="memitem">
1744<div class="memproto">
1745 <table class="memname">
1746 <tr>
1747 <td class="memname">static void init_by_array </td>
1748 <td>(</td>
1749 <td class="paramtype">uint32_t&nbsp;</td>
1750 <td class="paramname"> <em>init_key</em>[], </td>
1751 </tr>
1752 <tr>
1753 <td class="paramkey"></td>
1754 <td></td>
1755 <td class="paramtype">int&nbsp;</td>
1756 <td class="paramname"> <em>key_length</em></td><td>&nbsp;</td>
1757 </tr>
1758 <tr>
1759 <td></td>
1760 <td>)</td>
1761 <td></td><td></td><td width="100%"><code> [inline]</code></td>
1762 </tr>
1763 </table>
1764</div>
1765<div class="memdoc">
1766
1767<p>
1768This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a>.
1769<p>
1770<dl compact><dt><b>Parameters:</b></dt><dd>
1771 <table border="0" cellspacing="2" cellpadding="0">
1772 <tr><td valign="top"></td><td valign="top"><em>init_key</em>&nbsp;</td><td>the array of 32-bit integers, used as a seed. </td></tr>
1773 <tr><td valign="top"></td><td valign="top"><em>key_length</em>&nbsp;</td><td>the length of init_key. see also </td></tr>
1774 </table>
1775</dl>
1776<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#4f989ee92f5e4c8f71570dbb9d19e838" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_gv_init_by_array()</a>, <p>
1777<a class="el" href="d_s_f_m_t_8h.html#0914ba62e9a46b6a1f04f27caa83ba87" title="This function initializes the internal state array, with an array of 32-bit integers...">dsfmt_init_by_array()</a>. </dd></dl>
1778
1779<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00471">dsfmt_gv_init_by_array()</a>.</p>
1780
1781</div>
1782</div><p>
1783<a class="anchor" name="985425dba38a16554d3f2a9ee3a41e1b"></a><!-- doxytag: member="dSFMT.h::init_gen_rand" ref="985425dba38a16554d3f2a9ee3a41e1b" args="(uint32_t seed)" -->
1784<div class="memitem">
1785<div class="memproto">
1786 <table class="memname">
1787 <tr>
1788 <td class="memname">static void init_gen_rand </td>
1789 <td>(</td>
1790 <td class="paramtype">uint32_t&nbsp;</td>
1791 <td class="paramname"> <em>seed</em> </td>
1792 <td>&nbsp;)&nbsp;</td>
1793 <td width="100%"><code> [inline]</code></td>
1794 </tr>
1795 </table>
1796</div>
1797<div class="memdoc">
1798
1799<p>
1800This function is just the same as <a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a>.
1801<p>
1802<dl compact><dt><b>Parameters:</b></dt><dd>
1803 <table border="0" cellspacing="2" cellpadding="0">
1804 <tr><td valign="top"></td><td valign="top"><em>seed</em>&nbsp;</td><td>a 32-bit integer used as the seed. see also </td></tr>
1805 </table>
1806</dl>
1807<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="d_s_f_m_t_8h.html#74e3849c0ae0929d57c9c9ac52d58cc8" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_gv_init_gen_rand()</a>, <p>
1808<a class="el" href="d_s_f_m_t_8h.html#8df497c74e469b5f42e8a22d93124d41" title="This function initializes the internal state array with a 32-bit integer seed.">dsfmt_init_gen_rand()</a>. </dd></dl>
1809
1810<p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00447">dsfmt_gv_init_gen_rand()</a>.</p>
1811
1812</div>
1813</div><p>
1814<hr><h2>Variable Documentation</h2>
1815<a class="anchor" name="dfee3c4c3505ddcfc334251f94968737"></a><!-- doxytag: member="dSFMT.h::dsfmt_global_data" ref="dfee3c4c3505ddcfc334251f94968737" args="" -->
1816<div class="memitem">
1817<div class="memproto">
1818 <table class="memname">
1819 <tr>
1820 <td class="memname"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> <a class="el" href="d_s_f_m_t_8c.html#dfee3c4c3505ddcfc334251f94968737">dsfmt_global_data</a> </td>
1821 </tr>
1822 </table>
1823</div>
1824<div class="memdoc">
1825
1826<p>
1827dsfmt internal state vector
1828<p>
1829
1830<p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00379">dsfmt_gv_fill_array_close1_open2()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00411">dsfmt_gv_fill_array_close_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00395">dsfmt_gv_fill_array_open_close()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00427">dsfmt_gv_fill_array_open_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00283">dsfmt_gv_genrand_close1_open2()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00364">dsfmt_gv_genrand_open_open()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00272">dsfmt_gv_genrand_uint32()</a>, <a class="el" href="d_s_f_m_t_8h-source.html#l00471">dsfmt_gv_init_by_array()</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00447">dsfmt_gv_init_gen_rand()</a>.</p>
1831
1832</div>
1833</div><p>
1834<a class="anchor" name="b5bb9876d117b3cdf8143c701a3f8cdf"></a><!-- doxytag: member="dSFMT.h::dsfmt_global_mexp" ref="b5bb9876d117b3cdf8143c701a3f8cdf" args="" -->
1835<div class="memitem">
1836<div class="memproto">
1837 <table class="memname">
1838 <tr>
1839 <td class="memname">const int <a class="el" href="d_s_f_m_t_8h.html#b5bb9876d117b3cdf8143c701a3f8cdf">dsfmt_global_mexp</a> </td>
1840 </tr>
1841 </table>
1842</div>
1843<div class="memdoc">
1844
1845<p>
1846dsfmt mexp for check
1847<p>
1848
1849</div>
1850</div><p>
1851</div>
1852<hr size="1"><address style="text-align: right;"><small>Generated on Sat Apr 18 11:08:43 2009 for dSFMT by&nbsp;
1853<a href="http://www.doxygen.org/index.html">
1854<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
1855</body>
1856</html>
Note: See TracBrowser for help on using the repository browser.