| 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.c 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 Page</span></a></li>
|
|---|
| 12 | <li><a href="annotated.html"><span>Data 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.c File Reference</h1>double precision SIMD-oriented Fast Mersenne Twister (dSFMT) based on IEEE 754 format. <a href="#_details">More...</a>
|
|---|
| 19 | <p>
|
|---|
| 20 | <code>#include <stdio.h></code><br>
|
|---|
| 21 | <code>#include <string.h></code><br>
|
|---|
| 22 | <code>#include <stdlib.h></code><br>
|
|---|
| 23 | <code>#include "dSFMT-params.h"</code><br>
|
|---|
| 24 | <table border="0" cellpadding="0" cellspacing="0">
|
|---|
| 25 | <tr><td></td></tr>
|
|---|
| 26 | <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|---|
| 27 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#fe0e4e5727d9188f5ae1632da731d412">ini_func1</a> (uint32_t x)</td></tr>
|
|---|
| 28 |
|
|---|
| 29 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function represents a function used in the initialization by init_by_array. <a href="#fe0e4e5727d9188f5ae1632da731d412"></a><br></td></tr>
|
|---|
| 30 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#8da6197e2fe073abb9016e3cf4822807">ini_func2</a> (uint32_t x)</td></tr>
|
|---|
| 31 |
|
|---|
| 32 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function represents a function used in the initialization by init_by_array. <a href="#8da6197e2fe073abb9016e3cf4822807"></a><br></td></tr>
|
|---|
| 33 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#a56a7244d54e2e8bb162a91ebe098e65">gen_rand_array_c1o2</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, <a class="el" href="union_w128___t.html">w128_t</a> *array, int size)</td></tr>
|
|---|
| 34 |
|
|---|
| 35 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format. <a href="#a56a7244d54e2e8bb162a91ebe098e65"></a><br></td></tr>
|
|---|
| 36 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#0002bc60cd5c3227bd12f478a32463ba">gen_rand_array_c0o1</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, <a class="el" href="union_w128___t.html">w128_t</a> *array, int size)</td></tr>
|
|---|
| 37 |
|
|---|
| 38 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format. <a href="#0002bc60cd5c3227bd12f478a32463ba"></a><br></td></tr>
|
|---|
| 39 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#0905d57b8333da366b25773f0b3c5326">gen_rand_array_o0c1</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, <a class="el" href="union_w128___t.html">w128_t</a> *array, int size)</td></tr>
|
|---|
| 40 |
|
|---|
| 41 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format. <a href="#0905d57b8333da366b25773f0b3c5326"></a><br></td></tr>
|
|---|
| 42 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#2bad2f5ded750e7c250a121cdb61166e">gen_rand_array_o0o1</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt, <a class="el" href="union_w128___t.html">w128_t</a> *array, int size)</td></tr>
|
|---|
| 43 |
|
|---|
| 44 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format. <a href="#2bad2f5ded750e7c250a121cdb61166e"></a><br></td></tr>
|
|---|
| 45 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#6ceeab85133c3fd7ec95aa85523ff544">idxof</a> (int i)</td></tr>
|
|---|
| 46 |
|
|---|
| 47 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function simulate a 32-bit array index overlapped to 64-bit array of LITTLE ENDIAN in BIG ENDIAN machine. <a href="#6ceeab85133c3fd7ec95aa85523ff544"></a><br></td></tr>
|
|---|
| 48 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#95a1673e2b7b3a48a7eab8fa19e18e1d">initial_mask</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
|
|---|
| 49 |
|
|---|
| 50 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function initializes the internal state array to fit the IEEE 754 format. <a href="#95a1673e2b7b3a48a7eab8fa19e18e1d"></a><br></td></tr>
|
|---|
| 51 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#8c0334eb83e12d16f2cfe48929114e44">period_certification</a> (<a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> *dsfmt)</td></tr>
|
|---|
| 52 |
|
|---|
| 53 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function certificate the period of 2^{SFMT_MEXP}-1. <a href="#8c0334eb83e12d16f2cfe48929114e44"></a><br></td></tr>
|
|---|
| 54 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#43e33e2235015c9c072bad7dfe1a282c">do_recursion</a> (<a class="el" href="union_w128___t.html">w128_t</a> *r, <a class="el" href="union_w128___t.html">w128_t</a> *a, <a class="el" href="union_w128___t.html">w128_t</a> *b, <a class="el" href="union_w128___t.html">w128_t</a> *lung)</td></tr>
|
|---|
| 55 |
|
|---|
| 56 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function represents the recursion formula. <a href="#43e33e2235015c9c072bad7dfe1a282c"></a><br></td></tr>
|
|---|
| 57 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#3d69e801f1ee2fbdc3b596fab46e179e">convert_c0o1</a> (<a class="el" href="union_w128___t.html">w128_t</a> *w)</td></tr>
|
|---|
| 58 |
|
|---|
| 59 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function converts the double precision floating point numbers which distribute uniformly in the range [1, 2) to those which distribute uniformly in the range [0, 1). <a href="#3d69e801f1ee2fbdc3b596fab46e179e"></a><br></td></tr>
|
|---|
| 60 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#6c110f420568ad02e2709f790d3178ef">convert_o0c1</a> (<a class="el" href="union_w128___t.html">w128_t</a> *w)</td></tr>
|
|---|
| 61 |
|
|---|
| 62 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function converts the double precision floating point numbers which distribute uniformly in the range [1, 2) to those which distribute uniformly in the range (0, 1]. <a href="#6c110f420568ad02e2709f790d3178ef"></a><br></td></tr>
|
|---|
| 63 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#9fb54ba8ca524bc29724b333b6a37cc2">convert_o0o1</a> (<a class="el" href="union_w128___t.html">w128_t</a> *w)</td></tr>
|
|---|
| 64 |
|
|---|
| 65 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function converts the double precision floating point numbers which distribute uniformly in the range [1, 2) to those which distribute uniformly in the range (0, 1). <a href="#9fb54ba8ca524bc29724b333b6a37cc2"></a><br></td></tr>
|
|---|
| 66 | <tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#f181eeb77513e5a399dd2c585cfaa055">dsfmt_get_idstring</a> (void)</td></tr>
|
|---|
| 67 |
|
|---|
| 68 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function returns the identification string. <a href="#f181eeb77513e5a399dd2c585cfaa055"></a><br></td></tr>
|
|---|
| 69 | <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#f49cc1703b4cc1d0bffbd895917c303a">dsfmt_get_min_array_size</a> (void)</td></tr>
|
|---|
| 70 |
|
|---|
| 71 | <tr><td class="mdescLeft"> </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>
|
|---|
| 72 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 73 |
|
|---|
| 74 | <tr><td class="mdescLeft"> </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>
|
|---|
| 75 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 76 |
|
|---|
| 77 | <tr><td class="mdescLeft"> </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>
|
|---|
| 78 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 79 |
|
|---|
| 80 | <tr><td class="mdescLeft"> </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>
|
|---|
| 81 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 82 |
|
|---|
| 83 | <tr><td class="mdescLeft"> </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>
|
|---|
| 84 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 85 |
|
|---|
| 86 | <tr><td class="mdescLeft"> </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>
|
|---|
| 87 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 88 |
|
|---|
| 89 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function initializes the internal state array with a 32-bit integer seed. <a href="#2fa6a84095a280a4e1556415f3d4f259"></a><br></td></tr>
|
|---|
| 90 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.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>
|
|---|
| 91 |
|
|---|
| 92 | <tr><td class="mdescLeft"> </td><td class="mdescRight">This function initializes the internal state array, with an array of 32-bit integers used as the seeds. <a href="#91cef405a85910d4e56b4a1d10fb89f1"></a><br></td></tr>
|
|---|
| 93 | <tr><td colspan="2"><br><h2>Variables</h2></td></tr>
|
|---|
| 94 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#dfee3c4c3505ddcfc334251f94968737">dsfmt_global_data</a></td></tr>
|
|---|
| 95 |
|
|---|
| 96 | <tr><td class="mdescLeft"> </td><td class="mdescRight">dsfmt internal state vector <a href="#dfee3c4c3505ddcfc334251f94968737"></a><br></td></tr>
|
|---|
| 97 | <tr><td class="memItemLeft" nowrap align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="d_s_f_m_t_8c.html#3720bab32cfc7fed812b49d96cde8636">dsfmt_mexp</a> = DSFMT_MEXP</td></tr>
|
|---|
| 98 |
|
|---|
| 99 | <tr><td class="mdescLeft"> </td><td class="mdescRight">dsfmt mexp for check <a href="#3720bab32cfc7fed812b49d96cde8636"></a><br></td></tr>
|
|---|
| 100 | </table>
|
|---|
| 101 | <hr><a name="_details"></a><h2>Detailed Description</h2>
|
|---|
| 102 | double precision SIMD-oriented Fast Mersenne Twister (dSFMT) based on IEEE 754 format.
|
|---|
| 103 | <p>
|
|---|
| 104 | <dl class="author" compact><dt><b>Author:</b></dt><dd>Mutsuo Saito (Hiroshima University) <p>
|
|---|
| 105 | Makoto Matsumoto (Hiroshima University)</dd></dl>
|
|---|
| 106 | Copyright (C) 2007,2008 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved.<p>
|
|---|
| 107 | The new BSD License is applied to this software, see LICENSE.txt <hr><h2>Function Documentation</h2>
|
|---|
| 108 | <a class="anchor" name="3d69e801f1ee2fbdc3b596fab46e179e"></a><!-- doxytag: member="dSFMT.c::convert_c0o1" ref="3d69e801f1ee2fbdc3b596fab46e179e" args="(w128_t *w)" -->
|
|---|
| 109 | <div class="memitem">
|
|---|
| 110 | <div class="memproto">
|
|---|
| 111 | <table class="memname">
|
|---|
| 112 | <tr>
|
|---|
| 113 | <td class="memname">static void convert_c0o1 </td>
|
|---|
| 114 | <td>(</td>
|
|---|
| 115 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 116 | <td class="paramname"> <em>w</em> </td>
|
|---|
| 117 | <td> ) </td>
|
|---|
| 118 | <td width="100%"><code> [inline, static]</code></td>
|
|---|
| 119 | </tr>
|
|---|
| 120 | </table>
|
|---|
| 121 | </div>
|
|---|
| 122 | <div class="memdoc">
|
|---|
| 123 |
|
|---|
| 124 | <p>
|
|---|
| 125 | This function converts the double precision floating point numbers which distribute uniformly in the range [1, 2) to those which distribute uniformly in the range [0, 1).
|
|---|
| 126 | <p>
|
|---|
| 127 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 128 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 129 | <tr><td valign="top"></td><td valign="top"><em>w</em> </td><td>128bit stracture of double precision floating point numbers (I/O) </td></tr>
|
|---|
| 130 | </table>
|
|---|
| 131 | </dl>
|
|---|
| 132 |
|
|---|
| 133 | <p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00154">W128_T::d</a>.</p>
|
|---|
| 134 |
|
|---|
| 135 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00281">gen_rand_array_c0o1()</a>.</p>
|
|---|
| 136 |
|
|---|
| 137 | </div>
|
|---|
| 138 | </div><p>
|
|---|
| 139 | <a class="anchor" name="6c110f420568ad02e2709f790d3178ef"></a><!-- doxytag: member="dSFMT.c::convert_o0c1" ref="6c110f420568ad02e2709f790d3178ef" args="(w128_t *w)" -->
|
|---|
| 140 | <div class="memitem">
|
|---|
| 141 | <div class="memproto">
|
|---|
| 142 | <table class="memname">
|
|---|
| 143 | <tr>
|
|---|
| 144 | <td class="memname">static void convert_o0c1 </td>
|
|---|
| 145 | <td>(</td>
|
|---|
| 146 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 147 | <td class="paramname"> <em>w</em> </td>
|
|---|
| 148 | <td> ) </td>
|
|---|
| 149 | <td width="100%"><code> [inline, static]</code></td>
|
|---|
| 150 | </tr>
|
|---|
| 151 | </table>
|
|---|
| 152 | </div>
|
|---|
| 153 | <div class="memdoc">
|
|---|
| 154 |
|
|---|
| 155 | <p>
|
|---|
| 156 | This function converts the double precision floating point numbers which distribute uniformly in the range [1, 2) to those which distribute uniformly in the range (0, 1].
|
|---|
| 157 | <p>
|
|---|
| 158 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 159 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 160 | <tr><td valign="top"></td><td valign="top"><em>w</em> </td><td>128bit stracture of double precision floating point numbers (I/O) </td></tr>
|
|---|
| 161 | </table>
|
|---|
| 162 | </dl>
|
|---|
| 163 |
|
|---|
| 164 | <p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00154">W128_T::d</a>.</p>
|
|---|
| 165 |
|
|---|
| 166 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00367">gen_rand_array_o0c1()</a>.</p>
|
|---|
| 167 |
|
|---|
| 168 | </div>
|
|---|
| 169 | </div><p>
|
|---|
| 170 | <a class="anchor" name="9fb54ba8ca524bc29724b333b6a37cc2"></a><!-- doxytag: member="dSFMT.c::convert_o0o1" ref="9fb54ba8ca524bc29724b333b6a37cc2" args="(w128_t *w)" -->
|
|---|
| 171 | <div class="memitem">
|
|---|
| 172 | <div class="memproto">
|
|---|
| 173 | <table class="memname">
|
|---|
| 174 | <tr>
|
|---|
| 175 | <td class="memname">static void convert_o0o1 </td>
|
|---|
| 176 | <td>(</td>
|
|---|
| 177 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 178 | <td class="paramname"> <em>w</em> </td>
|
|---|
| 179 | <td> ) </td>
|
|---|
| 180 | <td width="100%"><code> [inline, static]</code></td>
|
|---|
| 181 | </tr>
|
|---|
| 182 | </table>
|
|---|
| 183 | </div>
|
|---|
| 184 | <div class="memdoc">
|
|---|
| 185 |
|
|---|
| 186 | <p>
|
|---|
| 187 | This function converts the double precision floating point numbers which distribute uniformly in the range [1, 2) to those which distribute uniformly in the range (0, 1).
|
|---|
| 188 | <p>
|
|---|
| 189 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 190 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 191 | <tr><td valign="top"></td><td valign="top"><em>w</em> </td><td>128bit stracture of double precision floating point numbers (I/O) </td></tr>
|
|---|
| 192 | </table>
|
|---|
| 193 | </dl>
|
|---|
| 194 |
|
|---|
| 195 | <p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00154">W128_T::d</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00152">W128_T::u</a>.</p>
|
|---|
| 196 |
|
|---|
| 197 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00324">gen_rand_array_o0o1()</a>.</p>
|
|---|
| 198 |
|
|---|
| 199 | </div>
|
|---|
| 200 | </div><p>
|
|---|
| 201 | <a class="anchor" name="43e33e2235015c9c072bad7dfe1a282c"></a><!-- doxytag: member="dSFMT.c::do_recursion" ref="43e33e2235015c9c072bad7dfe1a282c" args="(w128_t *r, w128_t *a, w128_t *b, w128_t *lung)" -->
|
|---|
| 202 | <div class="memitem">
|
|---|
| 203 | <div class="memproto">
|
|---|
| 204 | <table class="memname">
|
|---|
| 205 | <tr>
|
|---|
| 206 | <td class="memname">static void do_recursion </td>
|
|---|
| 207 | <td>(</td>
|
|---|
| 208 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 209 | <td class="paramname"> <em>r</em>, </td>
|
|---|
| 210 | </tr>
|
|---|
| 211 | <tr>
|
|---|
| 212 | <td class="paramkey"></td>
|
|---|
| 213 | <td></td>
|
|---|
| 214 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 215 | <td class="paramname"> <em>a</em>, </td>
|
|---|
| 216 | </tr>
|
|---|
| 217 | <tr>
|
|---|
| 218 | <td class="paramkey"></td>
|
|---|
| 219 | <td></td>
|
|---|
| 220 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 221 | <td class="paramname"> <em>b</em>, </td>
|
|---|
| 222 | </tr>
|
|---|
| 223 | <tr>
|
|---|
| 224 | <td class="paramkey"></td>
|
|---|
| 225 | <td></td>
|
|---|
| 226 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 227 | <td class="paramname"> <em>lung</em></td><td> </td>
|
|---|
| 228 | </tr>
|
|---|
| 229 | <tr>
|
|---|
| 230 | <td></td>
|
|---|
| 231 | <td>)</td>
|
|---|
| 232 | <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
|
|---|
| 233 | </tr>
|
|---|
| 234 | </table>
|
|---|
| 235 | </div>
|
|---|
| 236 | <div class="memdoc">
|
|---|
| 237 |
|
|---|
| 238 | <p>
|
|---|
| 239 | This function represents the recursion formula.
|
|---|
| 240 | <p>
|
|---|
| 241 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 242 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 243 | <tr><td valign="top"></td><td valign="top"><em>r</em> </td><td>output </td></tr>
|
|---|
| 244 | <tr><td valign="top"></td><td valign="top"><em>a</em> </td><td>a 128-bit part of the internal state array </td></tr>
|
|---|
| 245 | <tr><td valign="top"></td><td valign="top"><em>b</em> </td><td>a 128-bit part of the internal state array </td></tr>
|
|---|
| 246 | <tr><td valign="top"></td><td valign="top"><em>lung</em> </td><td>a 128-bit part of the internal state array This function represents the recursion formula. </td></tr>
|
|---|
| 247 | <tr><td valign="top"></td><td valign="top"><em>r</em> </td><td>output 128-bit </td></tr>
|
|---|
| 248 | <tr><td valign="top"></td><td valign="top"><em>a</em> </td><td>a 128-bit part of the internal state array </td></tr>
|
|---|
| 249 | <tr><td valign="top"></td><td valign="top"><em>b</em> </td><td>a 128-bit part of the internal state array </td></tr>
|
|---|
| 250 | <tr><td valign="top"></td><td valign="top"><em>lung</em> </td><td>a 128-bit part of the internal state array (I/O) </td></tr>
|
|---|
| 251 | </table>
|
|---|
| 252 | </dl>
|
|---|
| 253 |
|
|---|
| 254 | <p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00152">W128_T::u</a>.</p>
|
|---|
| 255 |
|
|---|
| 256 | <p>Referenced by <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>, and <a class="el" href="d_s_f_m_t_8c-source.html#l00324">gen_rand_array_o0o1()</a>.</p>
|
|---|
| 257 |
|
|---|
| 258 | </div>
|
|---|
| 259 | </div><p>
|
|---|
| 260 | <a class="anchor" name="91cef405a85910d4e56b4a1d10fb89f1"></a><!-- doxytag: member="dSFMT.c::dsfmt_chk_init_by_array" ref="91cef405a85910d4e56b4a1d10fb89f1" args="(dsfmt_t *dsfmt, uint32_t init_key[], int key_length, int mexp)" -->
|
|---|
| 261 | <div class="memitem">
|
|---|
| 262 | <div class="memproto">
|
|---|
| 263 | <table class="memname">
|
|---|
| 264 | <tr>
|
|---|
| 265 | <td class="memname">void dsfmt_chk_init_by_array </td>
|
|---|
| 266 | <td>(</td>
|
|---|
| 267 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 268 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 269 | </tr>
|
|---|
| 270 | <tr>
|
|---|
| 271 | <td class="paramkey"></td>
|
|---|
| 272 | <td></td>
|
|---|
| 273 | <td class="paramtype">uint32_t </td>
|
|---|
| 274 | <td class="paramname"> <em>init_key</em>[], </td>
|
|---|
| 275 | </tr>
|
|---|
| 276 | <tr>
|
|---|
| 277 | <td class="paramkey"></td>
|
|---|
| 278 | <td></td>
|
|---|
| 279 | <td class="paramtype">int </td>
|
|---|
| 280 | <td class="paramname"> <em>key_length</em>, </td>
|
|---|
| 281 | </tr>
|
|---|
| 282 | <tr>
|
|---|
| 283 | <td class="paramkey"></td>
|
|---|
| 284 | <td></td>
|
|---|
| 285 | <td class="paramtype">int </td>
|
|---|
| 286 | <td class="paramname"> <em>mexp</em></td><td> </td>
|
|---|
| 287 | </tr>
|
|---|
| 288 | <tr>
|
|---|
| 289 | <td></td>
|
|---|
| 290 | <td>)</td>
|
|---|
| 291 | <td></td><td></td><td width="100%"></td>
|
|---|
| 292 | </tr>
|
|---|
| 293 | </table>
|
|---|
| 294 | </div>
|
|---|
| 295 | <div class="memdoc">
|
|---|
| 296 |
|
|---|
| 297 | <p>
|
|---|
| 298 | This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
|
|---|
| 299 | <p>
|
|---|
| 300 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 301 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 302 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 303 | <tr><td valign="top"></td><td valign="top"><em>init_key</em> </td><td>the array of 32-bit integers, used as a seed. </td></tr>
|
|---|
| 304 | <tr><td valign="top"></td><td valign="top"><em>key_length</em> </td><td>the length of init_key. </td></tr>
|
|---|
| 305 | <tr><td valign="top"></td><td valign="top"><em>mexp</em> </td><td>caller's mersenne expornent </td></tr>
|
|---|
| 306 | </table>
|
|---|
| 307 | </dl>
|
|---|
| 308 |
|
|---|
| 309 | <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>
|
|---|
| 310 |
|
|---|
| 311 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00458">dsfmt_init_by_array()</a>.</p>
|
|---|
| 312 |
|
|---|
| 313 | </div>
|
|---|
| 314 | </div><p>
|
|---|
| 315 | <a class="anchor" name="2fa6a84095a280a4e1556415f3d4f259"></a><!-- doxytag: member="dSFMT.c::dsfmt_chk_init_gen_rand" ref="2fa6a84095a280a4e1556415f3d4f259" args="(dsfmt_t *dsfmt, uint32_t seed, int mexp)" -->
|
|---|
| 316 | <div class="memitem">
|
|---|
| 317 | <div class="memproto">
|
|---|
| 318 | <table class="memname">
|
|---|
| 319 | <tr>
|
|---|
| 320 | <td class="memname">void dsfmt_chk_init_gen_rand </td>
|
|---|
| 321 | <td>(</td>
|
|---|
| 322 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 323 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 324 | </tr>
|
|---|
| 325 | <tr>
|
|---|
| 326 | <td class="paramkey"></td>
|
|---|
| 327 | <td></td>
|
|---|
| 328 | <td class="paramtype">uint32_t </td>
|
|---|
| 329 | <td class="paramname"> <em>seed</em>, </td>
|
|---|
| 330 | </tr>
|
|---|
| 331 | <tr>
|
|---|
| 332 | <td class="paramkey"></td>
|
|---|
| 333 | <td></td>
|
|---|
| 334 | <td class="paramtype">int </td>
|
|---|
| 335 | <td class="paramname"> <em>mexp</em></td><td> </td>
|
|---|
| 336 | </tr>
|
|---|
| 337 | <tr>
|
|---|
| 338 | <td></td>
|
|---|
| 339 | <td>)</td>
|
|---|
| 340 | <td></td><td></td><td width="100%"></td>
|
|---|
| 341 | </tr>
|
|---|
| 342 | </table>
|
|---|
| 343 | </div>
|
|---|
| 344 | <div class="memdoc">
|
|---|
| 345 |
|
|---|
| 346 | <p>
|
|---|
| 347 | This function initializes the internal state array with a 32-bit integer seed.
|
|---|
| 348 | <p>
|
|---|
| 349 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 350 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 351 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 352 | <tr><td valign="top"></td><td valign="top"><em>seed</em> </td><td>a 32-bit integer used as the seed. </td></tr>
|
|---|
| 353 | <tr><td valign="top"></td><td valign="top"><em>mexp</em> </td><td>caller's mersenne expornent </td></tr>
|
|---|
| 354 | </table>
|
|---|
| 355 | </dl>
|
|---|
| 356 |
|
|---|
| 357 | <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>
|
|---|
| 358 |
|
|---|
| 359 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00437">dsfmt_init_gen_rand()</a>.</p>
|
|---|
| 360 |
|
|---|
| 361 | </div>
|
|---|
| 362 | </div><p>
|
|---|
| 363 | <a class="anchor" name="beef257039f3b95b7475bbecdb521b89"></a><!-- doxytag: member="dSFMT.c::dsfmt_fill_array_close1_open2" ref="beef257039f3b95b7475bbecdb521b89" args="(dsfmt_t *dsfmt, double array[], int size)" -->
|
|---|
| 364 | <div class="memitem">
|
|---|
| 365 | <div class="memproto">
|
|---|
| 366 | <table class="memname">
|
|---|
| 367 | <tr>
|
|---|
| 368 | <td class="memname">void dsfmt_fill_array_close1_open2 </td>
|
|---|
| 369 | <td>(</td>
|
|---|
| 370 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 371 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 372 | </tr>
|
|---|
| 373 | <tr>
|
|---|
| 374 | <td class="paramkey"></td>
|
|---|
| 375 | <td></td>
|
|---|
| 376 | <td class="paramtype">double </td>
|
|---|
| 377 | <td class="paramname"> <em>array</em>[], </td>
|
|---|
| 378 | </tr>
|
|---|
| 379 | <tr>
|
|---|
| 380 | <td class="paramkey"></td>
|
|---|
| 381 | <td></td>
|
|---|
| 382 | <td class="paramtype">int </td>
|
|---|
| 383 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 384 | </tr>
|
|---|
| 385 | <tr>
|
|---|
| 386 | <td></td>
|
|---|
| 387 | <td>)</td>
|
|---|
| 388 | <td></td><td></td><td width="100%"></td>
|
|---|
| 389 | </tr>
|
|---|
| 390 | </table>
|
|---|
| 391 | </div>
|
|---|
| 392 | <div class="memdoc">
|
|---|
| 393 |
|
|---|
| 394 | <p>
|
|---|
| 395 | This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.
|
|---|
| 396 | <p>
|
|---|
| 397 | The 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>
|
|---|
| 398 | For 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>
|
|---|
| 399 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 400 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 401 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 402 | <tr><td valign="top"></td><td valign="top"><em>array</em> </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>
|
|---|
| 403 | <tr><td valign="top"></td><td valign="top"><em>size</em> </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>
|
|---|
| 404 | </table>
|
|---|
| 405 | </dl>
|
|---|
| 406 | <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>
|
|---|
| 407 |
|
|---|
| 408 | <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>
|
|---|
| 409 |
|
|---|
| 410 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00379">dsfmt_gv_fill_array_close1_open2()</a>.</p>
|
|---|
| 411 |
|
|---|
| 412 | </div>
|
|---|
| 413 | </div><p>
|
|---|
| 414 | <a class="anchor" name="243fb9ed1b61233f3dba4ab15c541eb0"></a><!-- doxytag: member="dSFMT.c::dsfmt_fill_array_close_open" ref="243fb9ed1b61233f3dba4ab15c541eb0" args="(dsfmt_t *dsfmt, double array[], int size)" -->
|
|---|
| 415 | <div class="memitem">
|
|---|
| 416 | <div class="memproto">
|
|---|
| 417 | <table class="memname">
|
|---|
| 418 | <tr>
|
|---|
| 419 | <td class="memname">void dsfmt_fill_array_close_open </td>
|
|---|
| 420 | <td>(</td>
|
|---|
| 421 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 422 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 423 | </tr>
|
|---|
| 424 | <tr>
|
|---|
| 425 | <td class="paramkey"></td>
|
|---|
| 426 | <td></td>
|
|---|
| 427 | <td class="paramtype">double </td>
|
|---|
| 428 | <td class="paramname"> <em>array</em>[], </td>
|
|---|
| 429 | </tr>
|
|---|
| 430 | <tr>
|
|---|
| 431 | <td class="paramkey"></td>
|
|---|
| 432 | <td></td>
|
|---|
| 433 | <td class="paramtype">int </td>
|
|---|
| 434 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 435 | </tr>
|
|---|
| 436 | <tr>
|
|---|
| 437 | <td></td>
|
|---|
| 438 | <td>)</td>
|
|---|
| 439 | <td></td><td></td><td width="100%"></td>
|
|---|
| 440 | </tr>
|
|---|
| 441 | </table>
|
|---|
| 442 | </div>
|
|---|
| 443 | <div class="memdoc">
|
|---|
| 444 |
|
|---|
| 445 | <p>
|
|---|
| 446 | This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.
|
|---|
| 447 | <p>
|
|---|
| 448 | This 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>
|
|---|
| 449 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 450 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 451 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
|
|---|
| 452 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 453 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
|
|---|
| 454 | </table>
|
|---|
| 455 | </dl>
|
|---|
| 456 | <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>
|
|---|
| 457 |
|
|---|
| 458 | <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>
|
|---|
| 459 |
|
|---|
| 460 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00411">dsfmt_gv_fill_array_close_open()</a>.</p>
|
|---|
| 461 |
|
|---|
| 462 | </div>
|
|---|
| 463 | </div><p>
|
|---|
| 464 | <a class="anchor" name="6ad6f12b9a47ea89ceab693b1eec5079"></a><!-- doxytag: member="dSFMT.c::dsfmt_fill_array_open_close" ref="6ad6f12b9a47ea89ceab693b1eec5079" args="(dsfmt_t *dsfmt, double array[], int size)" -->
|
|---|
| 465 | <div class="memitem">
|
|---|
| 466 | <div class="memproto">
|
|---|
| 467 | <table class="memname">
|
|---|
| 468 | <tr>
|
|---|
| 469 | <td class="memname">void dsfmt_fill_array_open_close </td>
|
|---|
| 470 | <td>(</td>
|
|---|
| 471 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 472 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 473 | </tr>
|
|---|
| 474 | <tr>
|
|---|
| 475 | <td class="paramkey"></td>
|
|---|
| 476 | <td></td>
|
|---|
| 477 | <td class="paramtype">double </td>
|
|---|
| 478 | <td class="paramname"> <em>array</em>[], </td>
|
|---|
| 479 | </tr>
|
|---|
| 480 | <tr>
|
|---|
| 481 | <td class="paramkey"></td>
|
|---|
| 482 | <td></td>
|
|---|
| 483 | <td class="paramtype">int </td>
|
|---|
| 484 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 485 | </tr>
|
|---|
| 486 | <tr>
|
|---|
| 487 | <td></td>
|
|---|
| 488 | <td>)</td>
|
|---|
| 489 | <td></td><td></td><td width="100%"></td>
|
|---|
| 490 | </tr>
|
|---|
| 491 | </table>
|
|---|
| 492 | </div>
|
|---|
| 493 | <div class="memdoc">
|
|---|
| 494 |
|
|---|
| 495 | <p>
|
|---|
| 496 | This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.
|
|---|
| 497 | <p>
|
|---|
| 498 | This 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>
|
|---|
| 499 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 500 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 501 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 502 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
|
|---|
| 503 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
|
|---|
| 504 | </table>
|
|---|
| 505 | </dl>
|
|---|
| 506 | <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>
|
|---|
| 507 |
|
|---|
| 508 | <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>
|
|---|
| 509 |
|
|---|
| 510 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00395">dsfmt_gv_fill_array_open_close()</a>.</p>
|
|---|
| 511 |
|
|---|
| 512 | </div>
|
|---|
| 513 | </div><p>
|
|---|
| 514 | <a class="anchor" name="eed310e17f9f652c1b0ec86298c834c1"></a><!-- doxytag: member="dSFMT.c::dsfmt_fill_array_open_open" ref="eed310e17f9f652c1b0ec86298c834c1" args="(dsfmt_t *dsfmt, double array[], int size)" -->
|
|---|
| 515 | <div class="memitem">
|
|---|
| 516 | <div class="memproto">
|
|---|
| 517 | <table class="memname">
|
|---|
| 518 | <tr>
|
|---|
| 519 | <td class="memname">void dsfmt_fill_array_open_open </td>
|
|---|
| 520 | <td>(</td>
|
|---|
| 521 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 522 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 523 | </tr>
|
|---|
| 524 | <tr>
|
|---|
| 525 | <td class="paramkey"></td>
|
|---|
| 526 | <td></td>
|
|---|
| 527 | <td class="paramtype">double </td>
|
|---|
| 528 | <td class="paramname"> <em>array</em>[], </td>
|
|---|
| 529 | </tr>
|
|---|
| 530 | <tr>
|
|---|
| 531 | <td class="paramkey"></td>
|
|---|
| 532 | <td></td>
|
|---|
| 533 | <td class="paramtype">int </td>
|
|---|
| 534 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 535 | </tr>
|
|---|
| 536 | <tr>
|
|---|
| 537 | <td></td>
|
|---|
| 538 | <td>)</td>
|
|---|
| 539 | <td></td><td></td><td width="100%"></td>
|
|---|
| 540 | </tr>
|
|---|
| 541 | </table>
|
|---|
| 542 | </div>
|
|---|
| 543 | <div class="memdoc">
|
|---|
| 544 |
|
|---|
| 545 | <p>
|
|---|
| 546 | This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.
|
|---|
| 547 | <p>
|
|---|
| 548 | This 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>
|
|---|
| 549 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 550 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 551 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 552 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an array where pseudorandom numbers are filled by this function. </td></tr>
|
|---|
| 553 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>the number of pseudorandom numbers to be generated. see also </td></tr>
|
|---|
| 554 | </table>
|
|---|
| 555 | </dl>
|
|---|
| 556 | <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>
|
|---|
| 557 |
|
|---|
| 558 | <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>
|
|---|
| 559 |
|
|---|
| 560 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00427">dsfmt_gv_fill_array_open_open()</a>.</p>
|
|---|
| 561 |
|
|---|
| 562 | </div>
|
|---|
| 563 | </div><p>
|
|---|
| 564 | <a class="anchor" name="fccb1e4d75cea7ffe3b45cba53d1e5e0"></a><!-- doxytag: member="dSFMT.c::dsfmt_gen_rand_all" ref="fccb1e4d75cea7ffe3b45cba53d1e5e0" args="(dsfmt_t *dsfmt)" -->
|
|---|
| 565 | <div class="memitem">
|
|---|
| 566 | <div class="memproto">
|
|---|
| 567 | <table class="memname">
|
|---|
| 568 | <tr>
|
|---|
| 569 | <td class="memname">void dsfmt_gen_rand_all </td>
|
|---|
| 570 | <td>(</td>
|
|---|
| 571 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 572 | <td class="paramname"> <em>dsfmt</em> </td>
|
|---|
| 573 | <td> ) </td>
|
|---|
| 574 | <td width="100%"></td>
|
|---|
| 575 | </tr>
|
|---|
| 576 | </table>
|
|---|
| 577 | </div>
|
|---|
| 578 | <div class="memdoc">
|
|---|
| 579 |
|
|---|
| 580 | <p>
|
|---|
| 581 | This function fills the internal state array with double precision floating point pseudorandom numbers of the IEEE 754 format.
|
|---|
| 582 | <p>
|
|---|
| 583 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 584 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 585 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 586 | </table>
|
|---|
| 587 | </dl>
|
|---|
| 588 |
|
|---|
| 589 | <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>
|
|---|
| 590 |
|
|---|
| 591 | <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>
|
|---|
| 592 |
|
|---|
| 593 | </div>
|
|---|
| 594 | </div><p>
|
|---|
| 595 | <a class="anchor" name="f181eeb77513e5a399dd2c585cfaa055"></a><!-- doxytag: member="dSFMT.c::dsfmt_get_idstring" ref="f181eeb77513e5a399dd2c585cfaa055" args="(void)" -->
|
|---|
| 596 | <div class="memitem">
|
|---|
| 597 | <div class="memproto">
|
|---|
| 598 | <table class="memname">
|
|---|
| 599 | <tr>
|
|---|
| 600 | <td class="memname">const char* dsfmt_get_idstring </td>
|
|---|
| 601 | <td>(</td>
|
|---|
| 602 | <td class="paramtype">void </td>
|
|---|
| 603 | <td class="paramname"> </td>
|
|---|
| 604 | <td> ) </td>
|
|---|
| 605 | <td width="100%"></td>
|
|---|
| 606 | </tr>
|
|---|
| 607 | </table>
|
|---|
| 608 | </div>
|
|---|
| 609 | <div class="memdoc">
|
|---|
| 610 |
|
|---|
| 611 | <p>
|
|---|
| 612 | This function returns the identification string.
|
|---|
| 613 | <p>
|
|---|
| 614 | The 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>
|
|---|
| 615 |
|
|---|
| 616 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00499">get_idstring()</a>.</p>
|
|---|
| 617 |
|
|---|
| 618 | </div>
|
|---|
| 619 | </div><p>
|
|---|
| 620 | <a class="anchor" name="f49cc1703b4cc1d0bffbd895917c303a"></a><!-- doxytag: member="dSFMT.c::dsfmt_get_min_array_size" ref="f49cc1703b4cc1d0bffbd895917c303a" args="(void)" -->
|
|---|
| 621 | <div class="memitem">
|
|---|
| 622 | <div class="memproto">
|
|---|
| 623 | <table class="memname">
|
|---|
| 624 | <tr>
|
|---|
| 625 | <td class="memname">int dsfmt_get_min_array_size </td>
|
|---|
| 626 | <td>(</td>
|
|---|
| 627 | <td class="paramtype">void </td>
|
|---|
| 628 | <td class="paramname"> </td>
|
|---|
| 629 | <td> ) </td>
|
|---|
| 630 | <td width="100%"></td>
|
|---|
| 631 | </tr>
|
|---|
| 632 | </table>
|
|---|
| 633 | </div>
|
|---|
| 634 | <div class="memdoc">
|
|---|
| 635 |
|
|---|
| 636 | <p>
|
|---|
| 637 | This function returns the minimum size of array used for <b>fill_array</b> functions.
|
|---|
| 638 | <p>
|
|---|
| 639 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>minimum size of array used for fill_array functions. </dd></dl>
|
|---|
| 640 |
|
|---|
| 641 | <p>References <a class="el" href="d_s_f_m_t_8h-source.html#l00057">DSFMT_N64</a>.</p>
|
|---|
| 642 |
|
|---|
| 643 | <p>Referenced by <a class="el" href="d_s_f_m_t_8h-source.html#l00508">get_min_array_size()</a>.</p>
|
|---|
| 644 |
|
|---|
| 645 | </div>
|
|---|
| 646 | </div><p>
|
|---|
| 647 | <a class="anchor" name="0002bc60cd5c3227bd12f478a32463ba"></a><!-- doxytag: member="dSFMT.c::gen_rand_array_c0o1" ref="0002bc60cd5c3227bd12f478a32463ba" args="(dsfmt_t *dsfmt, w128_t *array, int size)" -->
|
|---|
| 648 | <div class="memitem">
|
|---|
| 649 | <div class="memproto">
|
|---|
| 650 | <table class="memname">
|
|---|
| 651 | <tr>
|
|---|
| 652 | <td class="memname">static void gen_rand_array_c0o1 </td>
|
|---|
| 653 | <td>(</td>
|
|---|
| 654 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 655 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 656 | </tr>
|
|---|
| 657 | <tr>
|
|---|
| 658 | <td class="paramkey"></td>
|
|---|
| 659 | <td></td>
|
|---|
| 660 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 661 | <td class="paramname"> <em>array</em>, </td>
|
|---|
| 662 | </tr>
|
|---|
| 663 | <tr>
|
|---|
| 664 | <td class="paramkey"></td>
|
|---|
| 665 | <td></td>
|
|---|
| 666 | <td class="paramtype">int </td>
|
|---|
| 667 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 668 | </tr>
|
|---|
| 669 | <tr>
|
|---|
| 670 | <td></td>
|
|---|
| 671 | <td>)</td>
|
|---|
| 672 | <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
|
|---|
| 673 | </tr>
|
|---|
| 674 | </table>
|
|---|
| 675 | </div>
|
|---|
| 676 | <div class="memdoc">
|
|---|
| 677 |
|
|---|
| 678 | <p>
|
|---|
| 679 | This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format.
|
|---|
| 680 | <p>
|
|---|
| 681 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 682 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 683 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 684 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an 128-bit array to be filled by pseudorandom numbers. </td></tr>
|
|---|
| 685 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>number of 128-bit pseudorandom numbers to be generated. </td></tr>
|
|---|
| 686 | </table>
|
|---|
| 687 | </dl>
|
|---|
| 688 |
|
|---|
| 689 | <p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00206">convert_c0o1()</a>, <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>
|
|---|
| 690 |
|
|---|
| 691 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00591">dsfmt_fill_array_close_open()</a>.</p>
|
|---|
| 692 |
|
|---|
| 693 | </div>
|
|---|
| 694 | </div><p>
|
|---|
| 695 | <a class="anchor" name="a56a7244d54e2e8bb162a91ebe098e65"></a><!-- doxytag: member="dSFMT.c::gen_rand_array_c1o2" ref="a56a7244d54e2e8bb162a91ebe098e65" args="(dsfmt_t *dsfmt, w128_t *array, int size)" -->
|
|---|
| 696 | <div class="memitem">
|
|---|
| 697 | <div class="memproto">
|
|---|
| 698 | <table class="memname">
|
|---|
| 699 | <tr>
|
|---|
| 700 | <td class="memname">static void gen_rand_array_c1o2 </td>
|
|---|
| 701 | <td>(</td>
|
|---|
| 702 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 703 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 704 | </tr>
|
|---|
| 705 | <tr>
|
|---|
| 706 | <td class="paramkey"></td>
|
|---|
| 707 | <td></td>
|
|---|
| 708 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 709 | <td class="paramname"> <em>array</em>, </td>
|
|---|
| 710 | </tr>
|
|---|
| 711 | <tr>
|
|---|
| 712 | <td class="paramkey"></td>
|
|---|
| 713 | <td></td>
|
|---|
| 714 | <td class="paramtype">int </td>
|
|---|
| 715 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 716 | </tr>
|
|---|
| 717 | <tr>
|
|---|
| 718 | <td></td>
|
|---|
| 719 | <td>)</td>
|
|---|
| 720 | <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
|
|---|
| 721 | </tr>
|
|---|
| 722 | </table>
|
|---|
| 723 | </div>
|
|---|
| 724 | <div class="memdoc">
|
|---|
| 725 |
|
|---|
| 726 | <p>
|
|---|
| 727 | This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format.
|
|---|
| 728 | <p>
|
|---|
| 729 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 730 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 731 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 732 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an 128-bit array to be filled by pseudorandom numbers. </td></tr>
|
|---|
| 733 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>number of 128-bit pseudorandom numbers to be generated. </td></tr>
|
|---|
| 734 | </table>
|
|---|
| 735 | </dl>
|
|---|
| 736 |
|
|---|
| 737 | <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>
|
|---|
| 738 |
|
|---|
| 739 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00555">dsfmt_fill_array_close1_open2()</a>.</p>
|
|---|
| 740 |
|
|---|
| 741 | </div>
|
|---|
| 742 | </div><p>
|
|---|
| 743 | <a class="anchor" name="0905d57b8333da366b25773f0b3c5326"></a><!-- doxytag: member="dSFMT.c::gen_rand_array_o0c1" ref="0905d57b8333da366b25773f0b3c5326" args="(dsfmt_t *dsfmt, w128_t *array, int size)" -->
|
|---|
| 744 | <div class="memitem">
|
|---|
| 745 | <div class="memproto">
|
|---|
| 746 | <table class="memname">
|
|---|
| 747 | <tr>
|
|---|
| 748 | <td class="memname">static void gen_rand_array_o0c1 </td>
|
|---|
| 749 | <td>(</td>
|
|---|
| 750 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 751 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 752 | </tr>
|
|---|
| 753 | <tr>
|
|---|
| 754 | <td class="paramkey"></td>
|
|---|
| 755 | <td></td>
|
|---|
| 756 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 757 | <td class="paramname"> <em>array</em>, </td>
|
|---|
| 758 | </tr>
|
|---|
| 759 | <tr>
|
|---|
| 760 | <td class="paramkey"></td>
|
|---|
| 761 | <td></td>
|
|---|
| 762 | <td class="paramtype">int </td>
|
|---|
| 763 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 764 | </tr>
|
|---|
| 765 | <tr>
|
|---|
| 766 | <td></td>
|
|---|
| 767 | <td>)</td>
|
|---|
| 768 | <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
|
|---|
| 769 | </tr>
|
|---|
| 770 | </table>
|
|---|
| 771 | </div>
|
|---|
| 772 | <div class="memdoc">
|
|---|
| 773 |
|
|---|
| 774 | <p>
|
|---|
| 775 | This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format.
|
|---|
| 776 | <p>
|
|---|
| 777 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 778 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 779 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 780 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an 128-bit array to be filled by pseudorandom numbers. </td></tr>
|
|---|
| 781 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>number of 128-bit pseudorandom numbers to be generated. </td></tr>
|
|---|
| 782 | </table>
|
|---|
| 783 | </dl>
|
|---|
| 784 |
|
|---|
| 785 | <p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00217">convert_o0c1()</a>, <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>
|
|---|
| 786 |
|
|---|
| 787 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00573">dsfmt_fill_array_open_close()</a>.</p>
|
|---|
| 788 |
|
|---|
| 789 | </div>
|
|---|
| 790 | </div><p>
|
|---|
| 791 | <a class="anchor" name="2bad2f5ded750e7c250a121cdb61166e"></a><!-- doxytag: member="dSFMT.c::gen_rand_array_o0o1" ref="2bad2f5ded750e7c250a121cdb61166e" args="(dsfmt_t *dsfmt, w128_t *array, int size)" -->
|
|---|
| 792 | <div class="memitem">
|
|---|
| 793 | <div class="memproto">
|
|---|
| 794 | <table class="memname">
|
|---|
| 795 | <tr>
|
|---|
| 796 | <td class="memname">static void gen_rand_array_o0o1 </td>
|
|---|
| 797 | <td>(</td>
|
|---|
| 798 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 799 | <td class="paramname"> <em>dsfmt</em>, </td>
|
|---|
| 800 | </tr>
|
|---|
| 801 | <tr>
|
|---|
| 802 | <td class="paramkey"></td>
|
|---|
| 803 | <td></td>
|
|---|
| 804 | <td class="paramtype"><a class="el" href="union_w128___t.html">w128_t</a> * </td>
|
|---|
| 805 | <td class="paramname"> <em>array</em>, </td>
|
|---|
| 806 | </tr>
|
|---|
| 807 | <tr>
|
|---|
| 808 | <td class="paramkey"></td>
|
|---|
| 809 | <td></td>
|
|---|
| 810 | <td class="paramtype">int </td>
|
|---|
| 811 | <td class="paramname"> <em>size</em></td><td> </td>
|
|---|
| 812 | </tr>
|
|---|
| 813 | <tr>
|
|---|
| 814 | <td></td>
|
|---|
| 815 | <td>)</td>
|
|---|
| 816 | <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
|
|---|
| 817 | </tr>
|
|---|
| 818 | </table>
|
|---|
| 819 | </div>
|
|---|
| 820 | <div class="memdoc">
|
|---|
| 821 |
|
|---|
| 822 | <p>
|
|---|
| 823 | This function fills the user-specified array with double precision floating point pseudorandom numbers of the IEEE 754 format.
|
|---|
| 824 | <p>
|
|---|
| 825 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 826 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 827 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 828 | <tr><td valign="top"></td><td valign="top"><em>array</em> </td><td>an 128-bit array to be filled by pseudorandom numbers. </td></tr>
|
|---|
| 829 | <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>number of 128-bit pseudorandom numbers to be generated. </td></tr>
|
|---|
| 830 | </table>
|
|---|
| 831 | </dl>
|
|---|
| 832 |
|
|---|
| 833 | <p>References <a class="el" href="d_s_f_m_t_8c-source.html#l00228">convert_o0o1()</a>, <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>
|
|---|
| 834 |
|
|---|
| 835 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00609">dsfmt_fill_array_open_open()</a>.</p>
|
|---|
| 836 |
|
|---|
| 837 | </div>
|
|---|
| 838 | </div><p>
|
|---|
| 839 | <a class="anchor" name="6ceeab85133c3fd7ec95aa85523ff544"></a><!-- doxytag: member="dSFMT.c::idxof" ref="6ceeab85133c3fd7ec95aa85523ff544" args="(int i)" -->
|
|---|
| 840 | <div class="memitem">
|
|---|
| 841 | <div class="memproto">
|
|---|
| 842 | <table class="memname">
|
|---|
| 843 | <tr>
|
|---|
| 844 | <td class="memname">static int idxof </td>
|
|---|
| 845 | <td>(</td>
|
|---|
| 846 | <td class="paramtype">int </td>
|
|---|
| 847 | <td class="paramname"> <em>i</em> </td>
|
|---|
| 848 | <td> ) </td>
|
|---|
| 849 | <td width="100%"><code> [inline, static]</code></td>
|
|---|
| 850 | </tr>
|
|---|
| 851 | </table>
|
|---|
| 852 | </div>
|
|---|
| 853 | <div class="memdoc">
|
|---|
| 854 |
|
|---|
| 855 | <p>
|
|---|
| 856 | This function simulate a 32-bit array index overlapped to 64-bit array of LITTLE ENDIAN in BIG ENDIAN machine.
|
|---|
| 857 | <p>
|
|---|
| 858 |
|
|---|
| 859 | <p>Referenced by <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_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>.</p>
|
|---|
| 860 |
|
|---|
| 861 | </div>
|
|---|
| 862 | </div><p>
|
|---|
| 863 | <a class="anchor" name="fe0e4e5727d9188f5ae1632da731d412"></a><!-- doxytag: member="dSFMT.c::ini_func1" ref="fe0e4e5727d9188f5ae1632da731d412" args="(uint32_t x)" -->
|
|---|
| 864 | <div class="memitem">
|
|---|
| 865 | <div class="memproto">
|
|---|
| 866 | <table class="memname">
|
|---|
| 867 | <tr>
|
|---|
| 868 | <td class="memname">static uint32_t ini_func1 </td>
|
|---|
| 869 | <td>(</td>
|
|---|
| 870 | <td class="paramtype">uint32_t </td>
|
|---|
| 871 | <td class="paramname"> <em>x</em> </td>
|
|---|
| 872 | <td> ) </td>
|
|---|
| 873 | <td width="100%"><code> [inline, static]</code></td>
|
|---|
| 874 | </tr>
|
|---|
| 875 | </table>
|
|---|
| 876 | </div>
|
|---|
| 877 | <div class="memdoc">
|
|---|
| 878 |
|
|---|
| 879 | <p>
|
|---|
| 880 | This function represents a function used in the initialization by init_by_array.
|
|---|
| 881 | <p>
|
|---|
| 882 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 883 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 884 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>32-bit integer </td></tr>
|
|---|
| 885 | </table>
|
|---|
| 886 | </dl>
|
|---|
| 887 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>32-bit integer </dd></dl>
|
|---|
| 888 |
|
|---|
| 889 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00656">dsfmt_chk_init_by_array()</a>.</p>
|
|---|
| 890 |
|
|---|
| 891 | </div>
|
|---|
| 892 | </div><p>
|
|---|
| 893 | <a class="anchor" name="8da6197e2fe073abb9016e3cf4822807"></a><!-- doxytag: member="dSFMT.c::ini_func2" ref="8da6197e2fe073abb9016e3cf4822807" args="(uint32_t x)" -->
|
|---|
| 894 | <div class="memitem">
|
|---|
| 895 | <div class="memproto">
|
|---|
| 896 | <table class="memname">
|
|---|
| 897 | <tr>
|
|---|
| 898 | <td class="memname">static uint32_t ini_func2 </td>
|
|---|
| 899 | <td>(</td>
|
|---|
| 900 | <td class="paramtype">uint32_t </td>
|
|---|
| 901 | <td class="paramname"> <em>x</em> </td>
|
|---|
| 902 | <td> ) </td>
|
|---|
| 903 | <td width="100%"><code> [inline, static]</code></td>
|
|---|
| 904 | </tr>
|
|---|
| 905 | </table>
|
|---|
| 906 | </div>
|
|---|
| 907 | <div class="memdoc">
|
|---|
| 908 |
|
|---|
| 909 | <p>
|
|---|
| 910 | This function represents a function used in the initialization by init_by_array.
|
|---|
| 911 | <p>
|
|---|
| 912 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 913 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 914 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>32-bit integer </td></tr>
|
|---|
| 915 | </table>
|
|---|
| 916 | </dl>
|
|---|
| 917 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>32-bit integer </dd></dl>
|
|---|
| 918 |
|
|---|
| 919 | <p>Referenced by <a class="el" href="d_s_f_m_t_8c-source.html#l00656">dsfmt_chk_init_by_array()</a>.</p>
|
|---|
| 920 |
|
|---|
| 921 | </div>
|
|---|
| 922 | </div><p>
|
|---|
| 923 | <a class="anchor" name="95a1673e2b7b3a48a7eab8fa19e18e1d"></a><!-- doxytag: member="dSFMT.c::initial_mask" ref="95a1673e2b7b3a48a7eab8fa19e18e1d" args="(dsfmt_t *dsfmt)" -->
|
|---|
| 924 | <div class="memitem">
|
|---|
| 925 | <div class="memproto">
|
|---|
| 926 | <table class="memname">
|
|---|
| 927 | <tr>
|
|---|
| 928 | <td class="memname">static void initial_mask </td>
|
|---|
| 929 | <td>(</td>
|
|---|
| 930 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 931 | <td class="paramname"> <em>dsfmt</em> </td>
|
|---|
| 932 | <td> ) </td>
|
|---|
| 933 | <td width="100%"><code> [static]</code></td>
|
|---|
| 934 | </tr>
|
|---|
| 935 | </table>
|
|---|
| 936 | </div>
|
|---|
| 937 | <div class="memdoc">
|
|---|
| 938 |
|
|---|
| 939 | <p>
|
|---|
| 940 | This function initializes the internal state array to fit the IEEE 754 format.
|
|---|
| 941 | <p>
|
|---|
| 942 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 943 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 944 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 945 | </table>
|
|---|
| 946 | </dl>
|
|---|
| 947 |
|
|---|
| 948 | <p>References <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#l00163">DSFMT_T::status</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00152">W128_T::u</a>.</p>
|
|---|
| 949 |
|
|---|
| 950 | <p>Referenced by <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_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>.</p>
|
|---|
| 951 |
|
|---|
| 952 | </div>
|
|---|
| 953 | </div><p>
|
|---|
| 954 | <a class="anchor" name="8c0334eb83e12d16f2cfe48929114e44"></a><!-- doxytag: member="dSFMT.c::period_certification" ref="8c0334eb83e12d16f2cfe48929114e44" args="(dsfmt_t *dsfmt)" -->
|
|---|
| 955 | <div class="memitem">
|
|---|
| 956 | <div class="memproto">
|
|---|
| 957 | <table class="memname">
|
|---|
| 958 | <tr>
|
|---|
| 959 | <td class="memname">static void period_certification </td>
|
|---|
| 960 | <td>(</td>
|
|---|
| 961 | <td class="paramtype"><a class="el" href="struct_d_s_f_m_t___t.html">dsfmt_t</a> * </td>
|
|---|
| 962 | <td class="paramname"> <em>dsfmt</em> </td>
|
|---|
| 963 | <td> ) </td>
|
|---|
| 964 | <td width="100%"><code> [static]</code></td>
|
|---|
| 965 | </tr>
|
|---|
| 966 | </table>
|
|---|
| 967 | </div>
|
|---|
| 968 | <div class="memdoc">
|
|---|
| 969 |
|
|---|
| 970 | <p>
|
|---|
| 971 | This function certificate the period of 2^{SFMT_MEXP}-1.
|
|---|
| 972 | <p>
|
|---|
| 973 | <dl compact><dt><b>Parameters:</b></dt><dd>
|
|---|
| 974 | <table border="0" cellspacing="2" cellpadding="0">
|
|---|
| 975 | <tr><td valign="top"></td><td valign="top"><em>dsfmt</em> </td><td>dsfmt state vector. </td></tr>
|
|---|
| 976 | </table>
|
|---|
| 977 | </dl>
|
|---|
| 978 |
|
|---|
| 979 | <p>References <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#l00163">DSFMT_T::status</a>, and <a class="el" href="d_s_f_m_t_8h-source.html#l00152">W128_T::u</a>.</p>
|
|---|
| 980 |
|
|---|
| 981 | <p>Referenced by <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_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>.</p>
|
|---|
| 982 |
|
|---|
| 983 | </div>
|
|---|
| 984 | </div><p>
|
|---|
| 985 | <hr><h2>Variable Documentation</h2>
|
|---|
| 986 | <a class="anchor" name="dfee3c4c3505ddcfc334251f94968737"></a><!-- doxytag: member="dSFMT.c::dsfmt_global_data" ref="dfee3c4c3505ddcfc334251f94968737" args="" -->
|
|---|
| 987 | <div class="memitem">
|
|---|
| 988 | <div class="memproto">
|
|---|
| 989 | <table class="memname">
|
|---|
| 990 | <tr>
|
|---|
| 991 | <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>
|
|---|
| 992 | </tr>
|
|---|
| 993 | </table>
|
|---|
| 994 | </div>
|
|---|
| 995 | <div class="memdoc">
|
|---|
| 996 |
|
|---|
| 997 | <p>
|
|---|
| 998 | dsfmt internal state vector
|
|---|
| 999 | <p>
|
|---|
| 1000 |
|
|---|
| 1001 | <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>
|
|---|
| 1002 |
|
|---|
| 1003 | </div>
|
|---|
| 1004 | </div><p>
|
|---|
| 1005 | <a class="anchor" name="3720bab32cfc7fed812b49d96cde8636"></a><!-- doxytag: member="dSFMT.c::dsfmt_mexp" ref="3720bab32cfc7fed812b49d96cde8636" args="" -->
|
|---|
| 1006 | <div class="memitem">
|
|---|
| 1007 | <div class="memproto">
|
|---|
| 1008 | <table class="memname">
|
|---|
| 1009 | <tr>
|
|---|
| 1010 | <td class="memname">const int <a class="el" href="d_s_f_m_t_8c.html#3720bab32cfc7fed812b49d96cde8636">dsfmt_mexp</a> = DSFMT_MEXP<code> [static]</code> </td>
|
|---|
| 1011 | </tr>
|
|---|
| 1012 | </table>
|
|---|
| 1013 | </div>
|
|---|
| 1014 | <div class="memdoc">
|
|---|
| 1015 |
|
|---|
| 1016 | <p>
|
|---|
| 1017 | dsfmt mexp for check
|
|---|
| 1018 | <p>
|
|---|
| 1019 |
|
|---|
| 1020 | <p>Referenced by <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_8c-source.html#l00625">dsfmt_chk_init_gen_rand()</a>.</p>
|
|---|
| 1021 |
|
|---|
| 1022 | </div>
|
|---|
| 1023 | </div><p>
|
|---|
| 1024 | </div>
|
|---|
| 1025 | <hr size="1"><address style="text-align: right;"><small>Generated on Sat Apr 18 11:08:43 2009 for dSFMT by
|
|---|
| 1026 | <a href="http://www.doxygen.org/index.html">
|
|---|
| 1027 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
|---|
| 1028 | </body>
|
|---|
| 1029 | </html>
|
|---|