@@ -22,22 +22,24 @@ z = rnd.randn(10,10)
2222* Default random generator is identical to NumPy's RandomState (i.e.,
2323same seed, same random numbers).
2424* Support for random number generators that support independent streams
25- and jumping ahead so that substreams can be generated
26- * Faster random number generation, especially for Normals using the
27- Ziggurat method
25+ and jumping ahead so that sub-streams can be generated
26+ * Faster random number generation, especially for normal, standard
27+ exponential and standard gamma using the Ziggurat method
2828
2929``` python
3030import randomstate as rnd
3131w = rnd.standard_normal(10000 , method = ' zig' )
32+ x = rnd.standard_exponential(10000 , method = ' zig' )
33+ y = rnd.standard_gamma(5.5 , 10000 , method = ' zig' )
3234```
3335
3436* Support for 32-bit floating randoms for core generators.
3537 Currently supported:
3638
3739 * Uniforms (` random_sample ` )
38- * Exponentials (` standard_exponential ` )
40+ * Exponentials (` standard_exponential ` , both Inverse CDF and Ziggurat)
3941 * Normals (` standard_normal ` , both Box-Muller and Ziggurat)
40- * Standard Gammas (via ` standard_gamma ` )
42+ * Standard Gammas (via ` standard_gamma ` , both Inverse CDF and Ziggurat)
4143
4244 ** WARNING** : The 32-bit generators are ** experimental** and subject
4345 to change.
@@ -64,7 +66,10 @@ The RNGs include:
6466* [ dSFMT] ( http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/ ) a
6567 SSE2-aware version of the MT19937 generator that is especially fast at
6668 generating doubles
67- * [ xorshift128+] ( http://xorshift.di.unimi.it/ ) ,
69+ * [ SFMT] ( http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/ ) a
70+ SSE2-aware version of the MT19937 generator that is optimized for
71+ integer values
72+ * [ xorshift128+] ( http://xorshift.di.unimi.it/ ) ,
6873 [ xoroshiro128+] ( http://xoroshiro.di.unimi.it/ ) and
6974 [ xorshift1024* ] ( http://xorshift.di.unimi.it/ )
7075* [ PCG32] ( http://www.pcg-random.org/ ) and
@@ -76,14 +81,18 @@ The RNGs include:
7681
7782### New Features
7883* ` standard_normal ` , ` normal ` , ` randn ` and ` multivariate_normal ` all
79- support an additional ` method ` keyword argument which can be ` bm ` or
80- ` zig ` where ` bm ` corresponds to the current method using the Box-Muller
81- transformation and ` zig ` uses the much faster (100%+) Ziggurat method.
84+ support an additional ` method ` keyword argument which can be ` bm ` or
85+ ` zig ` where ` bm ` corresponds to the current method using the Box-Muller
86+ transformation and ` zig ` uses the much faster (100%+) Ziggurat method.
87+ * ` standard_exponential ` and ` standard_gamma ` both support an additional
88+ ` method ` keyword argument which can be ` inv ` or
89+ ` zig ` where ` inv ` corresponds to the current method using the inverse
90+ CDF and ` zig ` uses the much faster (100%+) Ziggurat method.
8291* Core random number generators can produce either single precision
83- (` np.float32 ` ) or double precision (` np.float64 ` , the default) using
84- an the optional keyword argument ` dtype `
92+ (` np.float32 ` ) or double precision (` np.float64 ` , the default) using
93+ an the optional keyword argument ` dtype `
8594* Core random number generators can fill existing arrays using the
86- ` out ` keyword argument
95+ ` out ` keyword argument
8796
8897
8998### New Functions
@@ -110,8 +119,8 @@ will produce an identical sequence of random numbers for a given seed.
110119 * Linux 32/64 bit, Python 2.7, 3.4, 3.5, 3.6 (probably works on 2.6 and 3.3)
111120 * PC-BSD (FreeBSD) 64-bit, Python 2.7
112121 * OSX 64-bit, Python 2.7
113- * Windows 32/64 bit (only tested on Python 2.7 and 3.5 , but should
114- work on 3.3/3.4)
122+ * Windows 32/64 bit (only tested on Python 2.7, 3.5 and 3.6 , but
123+ should work on 3.3/3.4)
115124
116125## Version
117126The version matched the latest version of NumPy where
@@ -138,7 +147,7 @@ Building requires:
138147 * Cython (0.22, 0.23, 0.24, 0.25)
139148 * tempita (0.5+), if not provided by Cython
140149
141- Testing requires nose (1.3 +).
150+ Testing requires pytest (3.0 +).
142151
143152** Note:** it might work with other versions but only tested with these
144153versions.
0 commit comments