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: Main Page</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 class="current"><a href="index.html"><span>Main Page</span></a></li> |
12 |
<li><a href="annotated.html"><span>Data Structures</span></a></li> |
13 |
<li><a href="files.html"><span>Files</span></a></li> |
14 |
</ul> |
15 |
</div> |
16 |
</div> |
17 |
<div class="contents"> |
18 |
<h1>dSFMT Documentation</h1> |
19 |
<p> |
20 |
<h3 align="center">2.1 </h3>This is double precision SIMD oriented Fast Mersenne Twister pseudorandom number generator (dSFMT). This program is based on the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) format.<p> |
21 |
dSFMT ver. 2.xx is completely different from dSFMT ver. 1.xx. The recursion formula is changed. And the output sequences are changed.<p> |
22 |
This version uses <b>structure</b> of C language. Don't use different <b>DSFMT_MEXP</b> for compiling <a class="el" href="d_s_f_m_t_8c.html" title="double precision SIMD-oriented Fast Mersenne Twister (dSFMT) based on IEEE 754 format...">dSFMT.c</a> and your program.<p> |
23 |
This Project provides pseudorandom number generators of various Mersenne Prime Period: from 2<sup>521</sup>-1 to 2<sup>216091</sup>-1.<p> |
24 |
To get dSFMT which has the period of 2<sup>521</sup>-1, you have to specify -DMEXP=521 as a compile option. For example, <div class="fragment"><pre class="fragment"> |
25 |
gcc -DDSFMT_MEXP=521 -msse2 -DHAVE_SSE2 -c dSFMT.c |
26 |
</pre></div> will make dSFMT which has the period of 2<sup>521</sup>-1 and is optimized for SSE2.<p> |
27 |
See <a href="howto-compile.html">How to compile</a> to compile your program with SFMT optimized for SIMD.<p> |
28 |
<ul> |
29 |
<li>void <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> initializes the generator with a 32-bit integer seed.</li><li>void <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> initializes the generator with an array of 32-bit integers as the seeds.</li><li>const char * <a class="el" href="d_s_f_m_t_8h.html#f181eeb77513e5a399dd2c585cfaa055" title="This function returns the identification string.">dsfmt_get_idstring()</a> returns the IDSTRING which identify the generator.</li><li>int <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> returns the minimum size of array used for <b>fill_array</b> functions.</li><li>inline double <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> generates and returns a double precision pseudorandom number which distributes uniformly in the range [1, 2). This is the primitive and faster than generating numbers in other ranges.</li><li>inline double <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> generates and returns a double precision pseudorandom number which distributes uniformly in the range [0, 1).</li><li>inline double <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> generates and returns a double precision pseudorandom number which distributes uniformly in the range (0, 1].</li><li>inline double <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> generates and returns a double precision pseudorandom number which distributes uniformly in the range (0, 1).</li><li>void <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> fills the user-specified array with double precision pseudorandom numbers which distribute uniformly in the range [1, 2).</li><li>void <a class="el" href="d_s_f_m_t_8h.html#243fb9ed1b61233f3dba4ab15c541eb0" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_close_open()</a> fills the user-specified array with double precision pseudorandom numbers which distribute uniformly in the range [0, 1).</li><li>void <a class="el" href="d_s_f_m_t_8h.html#6ad6f12b9a47ea89ceab693b1eec5079" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_open_close()</a> fills the user-specified array with double precision pseudorandom numbers which distribute uniformly in the range (0, 1].</li><li>void <a class="el" href="d_s_f_m_t_8h.html#eed310e17f9f652c1b0ec86298c834c1" title="This function generates double precision floating point pseudorandom numbers which...">dsfmt_fill_array_open_open()</a> fills the user-specified array with double precision pseudorandom numbers which distribute function uniformly in the range (0, 1).</li><li>uinit32_t <a class="el" href="d_s_f_m_t_8h.html#49fc44ce077ee57594b8102eb04145d9" title="This function generates and returns unsigned 32-bit integer.">dsfmt_genrand_uint32()</a> generates and returns a 32 bit unsigned integer. This function is useful for generating a small number of integers among a large number of floating point numbers. This function does not have corresponding fill_array function, because the purpose of fill_array function is to generate a large number of pseudorandom numbers.</li></ul> |
30 |
<p> |
31 |
Old names init_gen_rand, init_by_array, etc. are also defined unless you define DSFMT_DO_NOT_USE_OLD_NAMES.<p> |
32 |
<dl class="author" compact><dt><b>Author:</b></dt><dd>Mutsuo Saito (saito@our-domain) Hiroshima University <p> |
33 |
Makoto Matsumoto (m-mat@our-domain) Hiroshima University</dd></dl> |
34 |
Please change <b>our-domain</b> to <b>math.sci.hiroshima-u.ac.jp</b> <p> |
35 |
<dl class="date" compact><dt><b>Date:</b></dt><dd>2009-04-18</dd></dl> |
36 |
Copyright (C) 2007, 2008, 2009 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved.<p> |
37 |
The new BSD License is applied to this software. <div class="fragment"><pre class="fragment">Copyright (c) 2007, 2008 Mutsuo Saito, Makoto Matsumoto and Hiroshima |
38 |
University. All rights reserved. |
39 |
|
40 |
Redistribution and use in source and binary forms, with or without |
41 |
modification, are permitted provided that the following conditions are |
42 |
met: |
43 |
|
44 |
* Redistributions of source code must retain the above copyright |
45 |
notice, this list of conditions and the following disclaimer. |
46 |
* Redistributions in binary form must reproduce the above |
47 |
copyright notice, this list of conditions and the following |
48 |
disclaimer in the documentation and/or other materials provided |
49 |
with the distribution. |
50 |
* Neither the name of the Hiroshima University nor the names of |
51 |
its contributors may be used to endorse or promote products |
52 |
derived from this software without specific prior written |
53 |
permission. |
54 |
|
55 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
56 |
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
57 |
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
58 |
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
59 |
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
60 |
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
61 |
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
62 |
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
63 |
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
64 |
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
65 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
66 |
</pre></div> </div> |
67 |
<hr size="1"><address style="text-align: right;"><small>Generated on Sat Apr 18 11:08:42 2009 for dSFMT by |
68 |
<a href="http://www.doxygen.org/index.html"> |
69 |
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address> |
70 |
</body> |
71 |
</html> |