root/doc/html/classitpp_1_1DSFMT.html @ 354

Revision 353, 27.5 kB (checked in by smidl, 15 years ago)

doc

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>mixpp: itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt; Class Template Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1DSFMT.html">DSFMT</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt; Class Template Reference<br>
72<small>
73[<a class="el" href="group__randgen.html">Random Number Generation</a>]</small>
74</h1><!-- doxytag: class="itpp::DSFMT" -->C++ implementation of dSFMT random number generator<p>
75The <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> class implements parts of the Double precision SIMD-oriented Fast Mersenne Twister (dSFM) random number generator. <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> directly generates double precision floating point random numbers, which have the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) format. <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> does not support integer outputs. 
76<a href="#_details">More...</a>
77<p>
78<code>#include &lt;<a class="el" href="random__dsfmt_8h-source.html">random_dsfmt.h</a>&gt;</code>
79<p>
80
81<p>
82<a href="classitpp_1_1DSFMT-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
83<tr><td></td></tr>
84<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
85<tr><td class="memItemLeft" nowrap align="right" valign="top">union &nbsp;</td><td class="memItemRight" valign="bottom"><b>W128_T</b></td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">128-bit data structure <br></td></tr>
88<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
89<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cde8cc225ca1f756343fb037b99ffe32"></a><!-- doxytag: member="itpp::DSFMT::DSFMT" ref="cde8cc225ca1f756343fb037b99ffe32" args="()" -->
90&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#cde8cc225ca1f756343fb037b99ffe32">DSFMT</a> ()</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
93<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c87fddf046d11a5490b39590fa2112f1"></a><!-- doxytag: member="itpp::DSFMT::DSFMT" ref="c87fddf046d11a5490b39590fa2112f1" args="(unsigned int seed)" -->
94&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#c87fddf046d11a5490b39590fa2112f1">DSFMT</a> (unsigned int seed)</td></tr>
95
96<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor using a certain seed. <br></td></tr>
97<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8fa1b788118b95eaf44810e0b884d80"></a><!-- doxytag: member="itpp::DSFMT::randomize" ref="d8fa1b788118b95eaf44810e0b884d80" args="()" -->
98void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#d8fa1b788118b95eaf44810e0b884d80">randomize</a> ()</td></tr>
99
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the seed to a semi-random value (based on hashed time and clock). <br></td></tr>
101<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="defa66a466571c23b8ec388b3b23b037"></a><!-- doxytag: member="itpp::DSFMT::reset" ref="defa66a466571c23b8ec388b3b23b037" args="()" -->
102void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#defa66a466571c23b8ec388b3b23b037">reset</a> ()</td></tr>
103
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the generator with the same seed as used last time. <br></td></tr>
105<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#7127262cdb61c9ae9fc7765ac08f1e89">reset</a> (unsigned int seed)</td></tr>
106
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the generator with a new seed (.  <a href="#7127262cdb61c9ae9fc7765ac08f1e89"></a><br></td></tr>
108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab2af1395a13a573e9bdeab13b5cf9ff"></a><!-- doxytag: member="itpp::DSFMT::random_01" ref="ab2af1395a13a573e9bdeab13b5cf9ff" args="()" -->
109double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#ab2af1395a13a573e9bdeab13b5cf9ff">random_01</a> ()</td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a uniformly distributed (0,1) value. <br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d978ed6de775129d1bbeb7078d1be70b"></a><!-- doxytag: member="itpp::DSFMT::random_01_lclosed" ref="d978ed6de775129d1bbeb7078d1be70b" args="()" -->
113double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#d978ed6de775129d1bbeb7078d1be70b">random_01_lclosed</a> ()</td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a uniformly distributed [0,1) value. <br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00c9116b8836b601965abfe5fd144670"></a><!-- doxytag: member="itpp::DSFMT::random_01_rclosed" ref="00c9116b8836b601965abfe5fd144670" args="()" -->
117double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#00c9116b8836b601965abfe5fd144670">random_01_rclosed</a> ()</td></tr>
118
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a uniformly distributed (0,1] value. <br></td></tr>
120<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b645ea1ba2a18932ba6817455450a4af"></a><!-- doxytag: member="itpp::DSFMT::random_int" ref="b645ea1ba2a18932ba6817455450a4af" args="()" -->
121uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#b645ea1ba2a18932ba6817455450a4af">random_int</a> ()</td></tr>
122
123<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a uniformly distributed [0, UINT_MAX) value. <br></td></tr>
124<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="376bebd678a04ee0ef5ac4ba8c5aaa07"></a><!-- doxytag: member="itpp::DSFMT::get_state" ref="376bebd678a04ee0ef5ac4ba8c5aaa07" args="() const " -->
125ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#376bebd678a04ee0ef5ac4ba8c5aaa07">get_state</a> () const </td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return current state of generator in the form of ivec. <br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="848705b585c6ce3ebba989ec21ccac9e"></a><!-- doxytag: member="itpp::DSFMT::set_state" ref="848705b585c6ce3ebba989ec21ccac9e" args="(const ivec &amp;state)" -->
129void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#848705b585c6ce3ebba989ec21ccac9e">set_state</a> (const ivec &amp;state)</td></tr>
130
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resume the state of the generator from a previously saved ivec. <br></td></tr>
132<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#011ceb3e531789398265b1503bc0cced">init_gen_rand</a> (unsigned int seed)</td></tr>
133
134<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the generator with a new seed.  <a href="#011ceb3e531789398265b1503bc0cced"></a><br></td></tr>
135<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
136<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9f77c7cbc6831b9622212ba7f3caaec"></a><!-- doxytag: member="itpp::DSFMT::genrand_uint32" ref="e9f77c7cbc6831b9622212ba7f3caaec" args="()" -->
137static uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#e9f77c7cbc6831b9622212ba7f3caaec">genrand_uint32</a> ()</td></tr>
138
139<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate uniform [0, UINT_MAX) integer pseudorandom number. <br></td></tr>
140<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#c4ee81c771e7b000f8ac59dc018f641f">genrand_close1_open2</a> ()</td></tr>
141
142<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate uniform [1, 2) double pseudorandom number.  <a href="#c4ee81c771e7b000f8ac59dc018f641f"></a><br></td></tr>
143<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#8ff79b50d0b3ae41bf2e8d4d2fc06099">genrand_close_open</a> ()</td></tr>
144
145<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate uniform [0, 1) double pseudorandom number.  <a href="#8ff79b50d0b3ae41bf2e8d4d2fc06099"></a><br></td></tr>
146<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#b61104ac9de7e52f9462c41c8ffe4606">genrand_open_close</a> ()</td></tr>
147
148<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate uniform (0, 1] double pseudorandom number.  <a href="#b61104ac9de7e52f9462c41c8ffe4606"></a><br></td></tr>
149<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1DSFMT.html#186d6072f3c58313d28faa35f41b376f">genrand_open_open</a> ()</td></tr>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate uniform (0, 1) double pseudorandom number.  <a href="#186d6072f3c58313d28faa35f41b376f"></a><br></td></tr>
152</table>
153<hr><a name="_details"></a><h2>Detailed Description</h2>
154<h3>template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt;<br>
155 class itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;</h3>
156
157C++ implementation of dSFMT random number generator<p>
158The <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> class implements parts of the Double precision SIMD-oriented Fast Mersenne Twister (dSFM) random number generator. <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> directly generates double precision floating point random numbers, which have the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) format. <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> does not support integer outputs.
159<p>
160Visit <a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html">http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html</a> for more details on the original dSFMT implementation.<p>
161Here is a copy of the LICENSE.txt file from the dSFMT-src-2.0.tar.gz package, on which C++ <a class="el" href="classitpp_1_1DSFMT.html" title="C++ implementation of dSFMT random number generatorThe DSFMT class implements parts...">DSFMT</a> implementation is based: <div class="fragment"><pre class="fragment">
162 * Copyright (c) 2007, 2008 Mutsuo Saito, Makoto Matsumoto and Hiroshima
163 * University.  All rights reserved.
164 *
165 * Redistribution and use in source and binary forms, with or without
166 * modification, are permitted provided that the following conditions are
167 * met:
168 *
169 *     * Redistributions of source code must retain the above copyright
170 *       notice, this list of conditions and the following disclaimer.
171 *     * Redistributions in binary form must reproduce the above
172 *       copyright notice, this list of conditions and the following
173 *       disclaimer in the documentation and/or other materials provided
174 *       with the distribution.
175 *     * Neither the name of the Hiroshima University nor the names of
176 *       its contributors may be used to endorse or promote products
177 *       derived from this software without specific prior written
178 *       permission.
179 *
180 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
181 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
182 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
183 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
184 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
185 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
186 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
187 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
188 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
189 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
190 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
191 * </pre></div> <hr><h2>Member Function Documentation</h2>
192<a class="anchor" name="c4ee81c771e7b000f8ac59dc018f641f"></a><!-- doxytag: member="itpp::DSFMT::genrand_close1_open2" ref="c4ee81c771e7b000f8ac59dc018f641f" args="()" -->
193<div class="memitem">
194<div class="memproto">
195<div class="memtemplate">
196template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt; </div>
197      <table class="memname">
198        <tr>
199          <td class="memname">static double <a class="el" href="classitpp_1_1DSFMT.html">itpp::DSFMT</a>&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_close1_open2           </td>
200          <td>(</td>
201          <td class="paramname">          </td>
202          <td>&nbsp;)&nbsp;</td>
203          <td><code> [inline, static]</code></td>
204        </tr>
205      </table>
206</div>
207<div class="memdoc">
208
209<p>
210Generate uniform [1, 2) double pseudorandom number.
211<p>
212This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2). This is the primitive and faster than generating numbers in other ranges. <code><a class="el" href="classitpp_1_1DSFMT.html#011ceb3e531789398265b1503bc0cced" title="Initialise the generator with a new seed.">init_gen_rand()</a></code> must be called before this function. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
213
214<p>Referenced by <a class="el" href="random__dsfmt_8h-source.html#l00203">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_close_open()</a>, and <a class="el" href="random__dsfmt_8h-source.html#l00213">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_open_close()</a>.</p>
215
216</div>
217</div><p>
218<a class="anchor" name="8ff79b50d0b3ae41bf2e8d4d2fc06099"></a><!-- doxytag: member="itpp::DSFMT::genrand_close_open" ref="8ff79b50d0b3ae41bf2e8d4d2fc06099" args="()" -->
219<div class="memitem">
220<div class="memproto">
221<div class="memtemplate">
222template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt; </div>
223      <table class="memname">
224        <tr>
225          <td class="memname">static double <a class="el" href="classitpp_1_1DSFMT.html">itpp::DSFMT</a>&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_close_open           </td>
226          <td>(</td>
227          <td class="paramname">          </td>
228          <td>&nbsp;)&nbsp;</td>
229          <td><code> [inline, static]</code></td>
230        </tr>
231      </table>
232</div>
233<div class="memdoc">
234
235<p>
236Generate uniform [0, 1) double pseudorandom number.
237<p>
238This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1). <code><a class="el" href="classitpp_1_1DSFMT.html#011ceb3e531789398265b1503bc0cced" title="Initialise the generator with a new seed.">init_gen_rand()</a></code> must be called before this function. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
239
240<p>References <a class="el" href="random__dsfmt_8h-source.html#l00186">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_close1_open2()</a>.</p>
241
242<p>Referenced by <a class="el" href="random__dsfmt_8h-source.html#l00113">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::random_01_lclosed()</a>, <a class="el" href="random_8h-source.html#l00189">itpp::Uniform_RNG::sample()</a>, <a class="el" href="random_8h-source.html#l00145">itpp::I_Uniform_RNG::sample()</a>, <a class="el" href="random_8h-source.html#l00093">itpp::Bernoulli_RNG::sample()</a>, <a class="el" href="random_8cpp-source.html#l00502">itpp::Normal_RNG::sample()</a>, and <a class="el" href="random_8cpp-source.html#l00218">itpp::Gamma_RNG::sample()</a>.</p>
243
244</div>
245</div><p>
246<a class="anchor" name="b61104ac9de7e52f9462c41c8ffe4606"></a><!-- doxytag: member="itpp::DSFMT::genrand_open_close" ref="b61104ac9de7e52f9462c41c8ffe4606" args="()" -->
247<div class="memitem">
248<div class="memproto">
249<div class="memtemplate">
250template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt; </div>
251      <table class="memname">
252        <tr>
253          <td class="memname">static double <a class="el" href="classitpp_1_1DSFMT.html">itpp::DSFMT</a>&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_open_close           </td>
254          <td>(</td>
255          <td class="paramname">          </td>
256          <td>&nbsp;)&nbsp;</td>
257          <td><code> [inline, static]</code></td>
258        </tr>
259      </table>
260</div>
261<div class="memdoc">
262
263<p>
264Generate uniform (0, 1] double pseudorandom number.
265<p>
266This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1]. <code><a class="el" href="classitpp_1_1DSFMT.html#011ceb3e531789398265b1503bc0cced" title="Initialise the generator with a new seed.">init_gen_rand()</a></code> must be called before this function. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
267
268<p>References <a class="el" href="random__dsfmt_8h-source.html#l00186">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_close1_open2()</a>.</p>
269
270<p>Referenced by <a class="el" href="random__dsfmt_8h-source.html#l00115">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::random_01_rclosed()</a>, and <a class="el" href="random_8cpp-source.html#l00218">itpp::Gamma_RNG::sample()</a>.</p>
271
272</div>
273</div><p>
274<a class="anchor" name="186d6072f3c58313d28faa35f41b376f"></a><!-- doxytag: member="itpp::DSFMT::genrand_open_open" ref="186d6072f3c58313d28faa35f41b376f" args="()" -->
275<div class="memitem">
276<div class="memproto">
277<div class="memtemplate">
278template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt; </div>
279      <table class="memname">
280        <tr>
281          <td class="memname">static double <a class="el" href="classitpp_1_1DSFMT.html">itpp::DSFMT</a>&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::genrand_open_open           </td>
282          <td>(</td>
283          <td class="paramname">          </td>
284          <td>&nbsp;)&nbsp;</td>
285          <td><code> [inline, static]</code></td>
286        </tr>
287      </table>
288</div>
289<div class="memdoc">
290
291<p>
292Generate uniform (0, 1) double pseudorandom number.
293<p>
294This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1). <code><a class="el" href="classitpp_1_1DSFMT.html#011ceb3e531789398265b1503bc0cced" title="Initialise the generator with a new seed.">init_gen_rand()</a></code> must be called before this function. <dl class="return" compact><dt><b>Returns:</b></dt><dd>double precision floating point pseudorandom number </dd></dl>
295
296<p>Referenced by <a class="el" href="random__dsfmt_8h-source.html#l00111">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::random_01()</a>, <a class="el" href="random_8h-source.html#l00359">itpp::Laplace_RNG::sample()</a>, and <a class="el" href="random_8cpp-source.html#l00218">itpp::Gamma_RNG::sample()</a>.</p>
297
298</div>
299</div><p>
300<a class="anchor" name="011ceb3e531789398265b1503bc0cced"></a><!-- doxytag: member="itpp::DSFMT::init_gen_rand" ref="011ceb3e531789398265b1503bc0cced" args="(unsigned int seed)" -->
301<div class="memitem">
302<div class="memproto">
303<div class="memtemplate">
304template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt; </div>
305      <table class="memname">
306        <tr>
307          <td class="memname">void <a class="el" href="classitpp_1_1DSFMT.html">itpp::DSFMT</a>&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::init_gen_rand           </td>
308          <td>(</td>
309          <td class="paramtype">unsigned int&nbsp;</td>
310          <td class="paramname"> <em>seed</em>          </td>
311          <td>&nbsp;)&nbsp;</td>
312          <td><code> [inline]</code></td>
313        </tr>
314      </table>
315</div>
316<div class="memdoc">
317
318<p>
319Initialise the generator with a new seed.
320<p>
321This function initializes the internal state array with a 32-bit integer seed. <dl compact><dt><b>Parameters:</b></dt><dd>
322  <table border="0" cellspacing="2" cellpadding="0">
323    <tr><td valign="top"></td><td valign="top"><em>seed</em>&nbsp;</td><td>a 32-bit integer used as the seed. </td></tr>
324  </table>
325</dl>
326
327<p>Referenced by <a class="el" href="random__dsfmt_8h-source.html#l00099">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::DSFMT()</a>, <a class="el" href="random__dsfmt_8h-source.html#l00104">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::randomize()</a>, and <a class="el" href="random__dsfmt_8h-source.html#l00106">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::reset()</a>.</p>
328
329</div>
330</div><p>
331<a class="anchor" name="7127262cdb61c9ae9fc7765ac08f1e89"></a><!-- doxytag: member="itpp::DSFMT::reset" ref="7127262cdb61c9ae9fc7765ac08f1e89" args="(unsigned int seed)" -->
332<div class="memitem">
333<div class="memproto">
334<div class="memtemplate">
335template&lt;int MEXP, int POS1, int SL1, uint64_t MSK1, uint64_t MSK2, uint32_t MSK32_1, uint32_t MSK32_2, uint32_t MSK32_3, uint32_t MSK32_4, uint64_t FIX1, uint64_t FIX2, uint64_t PCV1, uint64_t PCV2&gt; </div>
336      <table class="memname">
337        <tr>
338          <td class="memname">void <a class="el" href="classitpp_1_1DSFMT.html">itpp::DSFMT</a>&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::reset           </td>
339          <td>(</td>
340          <td class="paramtype">unsigned int&nbsp;</td>
341          <td class="paramname"> <em>seed</em>          </td>
342          <td>&nbsp;)&nbsp;</td>
343          <td><code> [inline]</code></td>
344        </tr>
345      </table>
346</div>
347<div class="memdoc">
348
349<p>
350Initialise the generator with a new seed (.
351<p>
352<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classitpp_1_1DSFMT.html#011ceb3e531789398265b1503bc0cced" title="Initialise the generator with a new seed.">init_gen_rand()</a>) </dd></dl>
353
354<p>References <a class="el" href="random__dsfmt_8h-source.html#l00150">itpp::DSFMT&lt; MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 &gt;::init_gen_rand()</a>.</p>
355
356</div>
357</div><p>
358<hr>The documentation for this class was generated from the following files:<ul>
359<li><a class="el" href="random__dsfmt_8h-source.html">random_dsfmt.h</a><li><a class="el" href="random_8cpp.html">random.cpp</a></ul>
360</div>
361<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
362<a href="http://www.doxygen.org/index.html">
363<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
364</body>
365</html>
Note: See TracBrowser for help on using the browser.