You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+33-30Lines changed: 33 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -155,36 +155,39 @@ In [1], every known PRNG at the time of the editing has been tested according to
155
155
We give you here below a copy of the resulting table for the PRNGs that have been implemented in **PyRandLib**, as provided in [1], plus the Mersenne twister one which is not implemented in **PyRandLib**.
156
156
We add in this table the evaluations provided by the authors of every new PRNGs that have been described after the publication of [1]. Fields may be missing then for them. A comparison of the computation times for all implemented PRNGs in **PyRandLib** is provided in an another belowing table.
157
157
158
-
| PyRandLib class | TU01 generator name (1) | Memory Usage | Period | SmallCrush fails | Crush fails | BigCrush fails | time-64 bits | time-32bits |
<tr><th>PyRandLib class</th><th>TU01 generator name (1)</th><th>Memory Usage</th><th>Period</th><th>SmallCrush fails</th><th>Crush fails</th><th>BigCrush fails</th><th>time-64 bits</th><th>time-32bits</th><th></th></tr>
161
+
<tr><td>Cwg64</td><td>*CWG64*</td><td>8 x 4-bytes</td><td>>= 2^70</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
162
+
<tr><td>Cwg128_64</td><td>*CWG128-64*</td><td>10 x 4-bytes</td><td>>= 2^71</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
163
+
<tr><td>Cwg128</td><td>*CWG128*</td><td>16 x 4-bytes</td><td>>= 2^135</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
164
+
<tr><td>FastRand32</td><td>LCG(2^32, 69069, 1)</td><td>1 x 4-bytes</td><td>2^32</td><td>11</td><td>106</td><td>*too many*</td><td>0.67</td><td>3.20</td><td></td></tr>
165
+
<tr><td>FastRand63</td><td>LCG(2^63, 9219741426499971445, 1)</td><td>2 x 4-bytes</td><td>2^63</td><td>0</td><td>5</td><td>7</td><td>0.75</td><td>4.20</td><td></td></tr>
166
+
<tr><td>LFib78</td><td>LFib(2^64, 17, 5, +)</td><td>34 x 4-bytes</td><td>2^78</td><td>0</td><td>0</td><td>0</td><td>1.1</td><td>n.a.</td><td></td></tr>
167
+
<tr><td>LFib116</td><td>LFib(2^64, 55, 24, +)</td><td>110 x 4-bytes</td><td>2^116</td><td>0</td><td>0</td><td>0</td><td>1.0</td><td>n.a.</td><td></td></tr>
168
+
<tr><td>LFib668</td><td>LFib(2^64, 607, 273, +)</td><td>1,214 x 4-bytes</td><td>2^668</td><td>0</td><td>0</td><td>0</td><td>0.9</td><td>n.a.</td><td></td></tr>
169
+
<tr><td>LFib1340</td><td>LFib(2^64, 1279, 861, +)</td><td>2,558 x 4-bytes</td><td>2^1,340</td><td>0</td><td>0</td><td>0</td><td>0.9</td><td>n.a.</td><td></td></tr>
170
+
<tr><td>Melg607</td><td>*Melg607-64*</td><td>21 x 4-bytes</td><td>2^607</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a</td><td></td></tr>
171
+
<tr><td>Melg19937</td><td>*Melg19937-64*</td><td>625 x 4-bytes</td><td>2^19,937</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a</td><td></td></tr>
172
+
<tr><td>Melg44497</td><td>*Melg44497-64*</td><td>1,392 x 4-bytes</td><td>2^44,497</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a</td><td></td></tr>
173
+
<tr><td>Mrg287</td><td>Marsa-LFIB4</td><td>256 x 4-bytes</td><td>2^287</td><td>0</td><td>0</td><td>0</td><td>0.8</td><td>3.40</td><td></td></tr>
174
+
<tr><td>Mrg1457</td><td>DX-47-3</td><td>47 x 4-bytes</td><td>2^1,457</td><td>0</td><td>0</td><td>0</td><td>1.4</td><td>n.a.</td><td></td></tr>
175
+
<tr><td>Mrg49507</td><td>DX-1597-2-7</td><td>1,597 x 4-bytes</td><td>2^49,507</td><td>0</td><td>0</td><td>0</td><td>1.4</td><td>n.a.</td><td></td></tr>
176
+
<tr><td>Pcg64_32</td><td>*PCG XSH RS 64/32 (LCG)*</td><td>2 x 4 bytes</td><td>2^64</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
177
+
<tr><td>Pcg128_64</td><td>*PCG XSL RR 128/64 (LCG)*</td><td>4 x 4 bytes</td><td>2^128</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
178
+
<tr><td>Pcg1024_32</td><td>*PCG XSH RS 64/32 (EXT 1024)*</td><td>1,026 x 4 bytes</td><td>2^32,830</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
179
+
<tr><td>Squares32</td><td>*squares32*</td><td>4 x 4-bytes</td><td>2^64</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
180
+
<tr><td>Squares64</td><td>*squares64*</td><td>4 x 4-bytes</td><td>2^64</td><td>0</td><td>0</td><td>0</td><td>n.a.</td><td>n.a.</td><td></td></tr>
181
+
<tr><td>Well512a</td><td>not available</td><td>16 x 4-bytes</td><td>2^512</td><td>n.a.</td><td>n.a.</td><td>n.a.</td><td>n.a.</td><td>n.a.</td><td></td></tr>
182
+
<tr><td>Well1024a</td><td>WELL1024a</td><td>32 x 4-bytes</td><td>2^1,024</td><td>0</td><td>4</td><td>4</td><td>1.1</td><td>4.0</td><td></td></tr>
183
+
<tr><td>Well19937c (2)</td><td>WELL19937a</td><td>624 x 4-bytes</td><td>2^19,937</td><td>0</td><td>2</td><td>2</td><td>1.3</td><td>4.3</td><td></td></tr>
184
+
<tr><td>Well44497b (3)</td><td>not available</td><td>1,391 x 4-bytes</td><td>2^44,497</td><td>n.a.</td><td>n.a.</td><td>n.a.</td><td>n.a.</td><td>n.a.</td><td></td></tr>
185
+
<tr><td>Mersenne Twister</td><td>MT19937</td><td>624 x 4-bytes</td><td>2^19,937</td><td>0</td><td>2</td><td>2</td><td>1.6</td><td>4.30</td><td></td></tr>
186
+
<tr><td>Xoroshiro256</td><td>*xiroshiro256***</td><td>16 x 4-bytes</td><td>2^256</td><td>0</td><td>0</td><td>0</td><td>0.84</td><td>n.a.</td><td></td></tr>
187
+
<tr><td>Xoroshiro512</td><td>*xiroshiro512***</td><td>32 x 4-bytes</td><td>2^512</td><td>0</td><td>0</td><td>0</td><td>0.99</td><td>n.a.</td><td></td></tr>
188
+
<tr><td>Xoroshiro1024</td><td>*xiroshiro1024***</td><td>64 x 4-bytes</td><td>2^1,024</td><td>0</td><td>0</td><td>0</td><td>1.17</td><td>n.a.</td><td></td></tr>
189
+
<tr></tr>
190
+
</table>
188
191
189
192
(1) *or the generator original name in the related more recent paper*
190
193
(2) The Well19937c generator provided with library PyRandLib implements the Well19937a algorithm augmented with an associated *tempering* algorithm - see [6] p.9.
0 commit comments