summaryrefslogtreecommitdiff
path: root/numpy/random/threefry.pyx
diff options
context:
space:
mode:
authorKevin Sheppard <kevin.k.sheppard@gmail.com>2019-06-06 14:46:55 +0100
committerKevin Sheppard <kevin.k.sheppard@gmail.com>2019-06-06 16:59:32 +0100
commit5ccf87dd2da092c2e6936ed2fe6d680fcf88aa85 (patch)
tree591b6598b2c982a51937fed1dc538e8acd172f24 /numpy/random/threefry.pyx
parent2d4975e75c210202293b894bf98faf12f4697a31 (diff)
downloadnumpy-5ccf87dd2da092c2e6936ed2fe6d680fcf88aa85.tar.gz
MAINT: Update PCG jump sizes
Update pcg jump sizes Wrap advance when too large
Diffstat (limited to 'numpy/random/threefry.pyx')
-rw-r--r--numpy/random/threefry.pyx8
1 files changed, 5 insertions, 3 deletions
diff --git a/numpy/random/threefry.pyx b/numpy/random/threefry.pyx
index 5e5b9cf7a..8c349b2e1 100644
--- a/numpy/random/threefry.pyx
+++ b/numpy/random/threefry.pyx
@@ -337,7 +337,7 @@ cdef class ThreeFry:
self.rng_state.uinteger = value['uinteger']
self.rng_state.buffer_pos = value['buffer_pos']
- cdef jump_inplace(self, np.npy_intp iter):
+ cdef jump_inplace(self, iter):
"""
Jump state in-place
@@ -348,9 +348,9 @@ cdef class ThreeFry:
iter : integer, positive
Number of times to jump the state of the rng.
"""
- self.advance(iter * 2 ** 128)
+ self.advance(iter * int(2**128))
- def jumped(self, np.npy_intp iter=1):
+ def jumped(self, iter=1):
"""
jumped(iter=1)
@@ -413,6 +413,8 @@ cdef class ThreeFry:
Advancing the RNG state resets any pre-computed random numbers.
This is required to ensure exact reproducibility.
"""
+ delta = wrap_int(delta, 256)
+
cdef np.ndarray delta_a
delta_a = int_to_array(delta, 'step', 256, 64)
threefry_advance(<uint64_t *>delta_a.data, &self.rng_state)