summaryrefslogtreecommitdiff
path: root/numpy/random/common.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/random/common.pyx')
-rw-r--r--numpy/random/common.pyx10
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