@@ -22,7 +22,7 @@ Features
22
22
same seed, same random numbers).
23
23
- Support for random number generators that support independent streams
24
24
and jumping ahead so that substreams can be generated
25
- - Faster random number generations , especially for Normals using the
25
+ - Faster random number generation , especially for Normals using the
26
26
Ziggurat method
27
27
28
28
.. code :: python
@@ -58,8 +58,8 @@ New Features
58
58
- ``standard_normal ``, ``normal ``, ``randn `` and
59
59
``multivariate_normal `` all support an additional ``method `` keyword
60
60
argument which can be ``bm `` or ``zig `` where ``bm `` corresponds to
61
- the current method and ``zig `` uses the much faster (100%+) ziggurat
62
- method.
61
+ the current method using the Box-Muller transformation and ``zig ``
62
+ uses the much faster (100%+) ziggurat method.
63
63
64
64
New Functions
65
65
~~~~~~~~~~~~~
@@ -68,9 +68,8 @@ New Functions
68
68
commonly used in cryptographic applications
69
69
- ``random_uintegers `` - unsigned integers ``[0, 2**64-1] ``
70
70
- ``random_raw `` - Direct access to the values produced by the
71
- underlying PRNG.
72
- The range of the values returned depends on the specifics of the PRNG
73
- implementation.
71
+ underlying PRNG. The range of the values returned depends on the
72
+ specifics of the PRNG implementation.
74
73
- ``jump `` - Jumps RNGs that support it. ``jump `` moves the state a
75
74
great distance. *Only available if supported by the RNG. *
76
75
- ``advance `` - Advanced the core RNG 'as-if' a number of draws were
85
84
and will produce an identical sequence of random numbers for a given
86
85
seed.
87
86
- Builds and passes all tests on:
88
- - Linux 32/64 bit, Python 2.6, 2. 7, 3.3 , 3.4, 3.5
87
+ - Linux 32/64 bit, Python 2.7, 3.4 , 3.5 (should work on 2.6 and 3.3)
89
88
- PC-BSD (FreeBSD) 64-bit, Python 2.7
90
89
- OSX 64-bit, Python 2.7
91
90
- Windows 32/64 bit (only tested on Python 2.7 and 3.5, but should work
@@ -118,9 +117,12 @@ Requirements
118
117
119
118
Building requires:
120
119
120
+ - Python (2.7, 3.4, 3.5)
121
121
- Numpy (1.9, 1.10, 1.11)
122
122
- Cython (0.22, 0.23, 0.24)
123
- - Python (2.6, 2.7, 3.3, 3.4, 3.5)
123
+ - tempita (0.5+), if not provided by Cython
124
+
125
+ Testing requires nose (1.3+).
124
126
125
127
**Note: ** it might work with other versions but only tested with these
126
128
versions.
@@ -154,10 +156,10 @@ or are building on non-x86, you can install using:
154
156
Windows
155
157
~~~~~~~
156
158
157
- Either use a binary installer or if building from scratch using Python
158
- 3.5 and the free Visual Studio 2015 Community Edition. It can also be
159
- build using Microsoft Visual C++ Compiler for Python 2.7 and Python 2.7,
160
- although some modifications are needed to ``distutils `` to find the
159
+ Either use a binary installer, or if building from scratch, use Python
160
+ 3.5 with Visual Studio 2015 Community Edition. It can also be build
161
+ using Microsoft Visual C++ Compiler for Python 2.7 and Python 2.7,
162
+ although some modifications may be needed to ``distutils `` to find the
161
163
compiler.
162
164
163
165
Using
@@ -202,29 +204,41 @@ NumPy's mt19937.
202
204
203
205
::
204
206
205
- Speed-up relative to NumPy (Box-Muller)
207
+ Speed-up relative to NumPy (Uniform Doubles)
208
+ ************************************************************
209
+ randomstate.prng-dsfmt-random_sample 313.5%
210
+ randomstate.prng-mlfg_1279_861-random_sample 459.4%
211
+ randomstate.prng-mrg32k3a-random_sample -57.6%
212
+ randomstate.prng-mt19937-random_sample 72.5%
213
+ randomstate.prng-pcg32-random_sample 232.8%
214
+ randomstate.prng-pcg64-random_sample 330.6%
215
+ randomstate.prng-xoroshiro128plus-random_sample 609.9%
216
+ randomstate.prng-xorshift1024-random_sample 348.8%
217
+ randomstate.prng-xorshift128-random_sample 489.7%
218
+
219
+ Speed-up relative to NumPy (Normals using Box-Muller)
206
220
************************************************************
207
- randomstate.prng-dsfmt-standard_normal 30.2 %
208
- randomstate.prng-mlfg_1279_861-standard_normal 24.7 %
209
- randomstate.prng-mrg32k3a-standard_normal -17 .8%
210
- randomstate.prng-mt19937-standard_normal 11.2 %
211
- randomstate.prng-pcg32-standard_normal 22.0 %
212
- randomstate.prng-pcg64-standard_normal 21.8 %
213
- randomstate.prng-xoroshiro128plus-standard_normal 26.5 %
214
- randomstate.prng-xorshift1024-standard_normal 20.2 %
215
- randomstate.prng-xorshift128-standard_normal 23.5 %
216
-
217
- Speed-up relative to NumPy (Ziggurat)
221
+ randomstate.prng-dsfmt-standard_normal 26.8 %
222
+ randomstate.prng-mlfg_1279_861-standard_normal 30.9 %
223
+ randomstate.prng-mrg32k3a-standard_normal -14 .8%
224
+ randomstate.prng-mt19937-standard_normal 17.7 %
225
+ randomstate.prng-pcg32-standard_normal 24.5 %
226
+ randomstate.prng-pcg64-standard_normal 26.2 %
227
+ randomstate.prng-xoroshiro128plus-standard_normal 31.4 %
228
+ randomstate.prng-xorshift1024-standard_normal 27.4 %
229
+ randomstate.prng-xorshift128-standard_normal 30.3 %
230
+
231
+ Speed-up relative to NumPy (Normals using Ziggurat)
218
232
************************************************************
219
- randomstate.prng-dsfmt-standard_normal 494.2 %
220
- randomstate.prng-mlfg_1279_861-standard_normal 464.2 %
221
- randomstate.prng-mrg32k3a-standard_normal 103.8 %
222
- randomstate.prng-mt19937-standard_normal 362.6 %
223
- randomstate.prng-pcg32-standard_normal 539.6 %
224
- randomstate.prng-pcg64-standard_normal 407.7 %
225
- randomstate.prng-xoroshiro128plus-standard_normal 722.8 %
226
- randomstate.prng-xorshift1024-standard_normal 506.1 %
227
- randomstate.prng-xorshift128-standard_normal 686.3 %
233
+ randomstate.prng-dsfmt-standard_normal 491.7 %
234
+ randomstate.prng-mlfg_1279_861-standard_normal 439.6 %
235
+ randomstate.prng-mrg32k3a-standard_normal 101.2 %
236
+ randomstate.prng-mt19937-standard_normal 354.4 %
237
+ randomstate.prng-pcg32-standard_normal 531.0 %
238
+ randomstate.prng-pcg64-standard_normal 517.9 %
239
+ randomstate.prng-xoroshiro128plus-standard_normal 674.0 %
240
+ randomstate.prng-xorshift1024-standard_normal 486.7 %
241
+ randomstate.prng-xorshift128-standard_normal 617.0 %
228
242
229
243
.. |Travis Build Status | image :: https://travis-ci.org/bashtage/ng-numpy-randomstate.svg?branch=master
230
244
:target: https://travis-ci.org/bashtage/ng-numpy-randomstate
0 commit comments