| 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> |