Skip to content

Commit f0bbbf5

Browse files
Sheppard, KevinSheppard, Kevin
authored andcommitted
DOC: Add per RNG jump documentation
Add RNG-specific jump documentation to communicate jump size [skip ci]
1 parent 05ea0d7 commit f0bbbf5

File tree

6 files changed

+91
-20
lines changed

6 files changed

+91
-20
lines changed

randomstate/defaults.pxi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ DEF RS_RNG_JUMPABLE = 0
55
DEF RS_RNG_STATE_LEN = 4
66
DEF RS_SEED_NBYTES = 2
77
DEF RS_SEED_ARRAY_BITS = 64
8+
DEF JUMP_DOCSTRING = """
9+
"""

randomstate/interface/dSFMT/dSFMT.pxi

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,25 @@ state values.
161161
Jump Ahead Algorithm for Linear Recurrences in a Polynomial Space",
162162
Sequences and Their Applications - SETA, 290--298, 2008.
163163
"""
164+
165+
DEF JUMP_DOCSTRING = """
166+
jump(iter = 1)
167+
168+
Jumps the state of the random number generator as-if 2**128 random numbers
169+
have been generated.
170+
171+
Parameters
172+
----------
173+
iter : integer, positive
174+
Number of times to jump the state of the rng.
175+
176+
Returns
177+
-------
178+
out : None
179+
Returns 'None' on success.
180+
181+
Notes
182+
-----
183+
Jumping the rng state resets any pre-computed random numbers. This is required
184+
to ensure exact reproducibility.
185+
"""

randomstate/interface/mrg32k3a/mrg32k3a.pxi

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,3 +191,25 @@ References
191191
"An object-oriented random-number package with many long streams
192192
and substreams." Operations research 50, no. 6, pp. 1073-1075, 2002.
193193
"""
194+
195+
DEF JUMP_DOCSTRING = """
196+
jump(iter = 1)
197+
198+
Jumps the state of the random number generator as-if 2**127 random numbers
199+
have been generated.
200+
201+
Parameters
202+
----------
203+
iter : integer, positive
204+
Number of times to jump the state of the rng.
205+
206+
Returns
207+
-------
208+
out : None
209+
Returns 'None' on success.
210+
211+
Notes
212+
-----
213+
Jumping the rng state resets any pre-computed random numbers. This is required
214+
to ensure exact reproducibility.
215+
"""

randomstate/interface/xorshift1024/xorshift1024.pxi

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,25 @@ References
129129
.. [4] Sebastiano Vigna. "Further scramblings of Marsaglia's xorshift
130130
generators." CoRR, abs/1403.0930, 2014.
131131
"""
132+
133+
DEF JUMP_DOCSTRING = """
134+
jump(iter = 1)
135+
136+
Jumps the state of the random number generator as-if 2**512 random numbers
137+
have been generated.
138+
139+
Parameters
140+
----------
141+
iter : integer, positive
142+
Number of times to jump the state of the rng.
143+
144+
Returns
145+
-------
146+
out : None
147+
Returns 'None' on success.
148+
149+
Notes
150+
-----
151+
Jumping the rng state resets any pre-computed random numbers. This is required
152+
to ensure exact reproducibility.
153+
"""

randomstate/interface/xorshift128/xorshift128.pxi

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,25 @@ References
125125
.. [4] Sebastiano Vigna. "Further scramblings of Marsaglia's xorshift
126126
generators." CoRR, abs/1403.0930, 2014.
127127
"""
128+
129+
DEF JUMP_DOCSTRING = """
130+
jump(iter = 1)
131+
132+
Jumps the state of the random number generator as-if 2**64 random numbers
133+
have been generated.
134+
135+
Parameters
136+
----------
137+
iter : integer, positive
138+
Number of times to jump the state of the rng.
139+
140+
Returns
141+
-------
142+
out : None
143+
Returns 'None' on success.
144+
145+
Notes
146+
-----
147+
Jumping the rng state resets any pre-computed random numbers. This is required
148+
to ensure exact reproducibility.
149+
"""

randomstate/randomstate.pyx

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -381,27 +381,8 @@ cdef class RandomState:
381381

382382
IF RS_RNG_JUMPABLE:
383383
def jump(self, uint32_t iter = 1):
384-
"""
385-
jump(iter = 1)
386-
387-
Jumps the random number generator by a pre-specified skip. The size of the jump is
388-
rng-specific.
384+
JUMP_DOCSTRING
389385

390-
Parameters
391-
----------
392-
iter : integer, positive
393-
Number of times to jump the state of the rng.
394-
395-
Returns
396-
-------
397-
out : None
398-
Returns 'None' on success.
399-
400-
Notes
401-
-----
402-
Jumping the rng state resets any pre-computed random numbers. This is required to ensure
403-
exact reproducibility.
404-
"""
405386
cdef Py_ssize_t i;
406387
for i in range(iter):
407388
jump_state(&self.rng_state)

0 commit comments

Comments
 (0)