diff options
author | Kevin Sheppard <kevin.k.sheppard@gmail.com> | 2019-06-06 14:46:55 +0100 |
---|---|---|
committer | Kevin Sheppard <kevin.k.sheppard@gmail.com> | 2019-06-06 16:59:32 +0100 |
commit | 5ccf87dd2da092c2e6936ed2fe6d680fcf88aa85 (patch) | |
tree | 591b6598b2c982a51937fed1dc538e8acd172f24 /numpy/random/tests | |
parent | 2d4975e75c210202293b894bf98faf12f4697a31 (diff) | |
download | numpy-5ccf87dd2da092c2e6936ed2fe6d680fcf88aa85.tar.gz |
MAINT: Update PCG jump sizes
Update pcg jump sizes
Wrap advance when too large
Diffstat (limited to 'numpy/random/tests')
-rw-r--r-- | numpy/random/tests/test_direct.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/numpy/random/tests/test_direct.py b/numpy/random/tests/test_direct.py index 4ab521d1b..722d5e680 100644 --- a/numpy/random/tests/test_direct.py +++ b/numpy/random/tests/test_direct.py @@ -420,6 +420,20 @@ class TestPCG64(Base): [2 ** (2 * self.bits + 1)]) assert_raises(self.seed_error_type, rs.bit_generator.seed, [-1]) + def test_advance_symmetry(self): + rs = Generator(self.bit_generator(*self.data1['seed'])) + state = rs.bit_generator.state + step = -0x9e3779b97f4a7c150000000000000000 + rs.bit_generator.advance(step) + val_neg = rs.integers(10) + rs.bit_generator.state = state + rs.bit_generator.advance(2**128 + step) + val_pos = rs.integers(10) + rs.bit_generator.state = state + rs.bit_generator.advance(10 * 2**128 + step) + val_big = rs.integers(10) + assert val_neg == val_pos + assert val_big == val_pos class TestPCG32(TestPCG64): @classmethod |