diff options
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 |