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/common.pyx | |
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/common.pyx')
-rw-r--r-- | numpy/random/common.pyx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/numpy/random/common.pyx b/numpy/random/common.pyx index 0fd2d154a..f1af4986b 100644 --- a/numpy/random/common.pyx +++ b/numpy/random/common.pyx @@ -182,6 +182,16 @@ cdef double kahan_sum(double *darr, np.npy_intp n): sum = t return sum + +cdef object wrap_int(object val, object bits): + """Wraparound to place an integer into the interval [0, 2**bits)""" + upper = int(2)**int(bits) + if not 0<= val < upper: + divisor = val // upper + val = val - upper * divisor + return val + + cdef np.ndarray int_to_array(object value, object name, object bits, object uint_size): """Convert a large integer to an array of unsigned integers""" len = bits // uint_size |