diff options
author | mattip <matti.picus@gmail.com> | 2019-09-29 00:43:30 +0300 |
---|---|---|
committer | mattip <matti.picus@gmail.com> | 2019-10-11 15:08:46 +0300 |
commit | 6fd7ec969feb980aebd33a8df7bccd873ade74bb (patch) | |
tree | c5f1fd45262ce98b98d8fe01a57c6728147e4d20 /numpy/random/_bounded_integers.pxd.in | |
parent | e527e71f11e79e03eee41441d383b046ddb68d8b (diff) | |
download | numpy-6fd7ec969feb980aebd33a8df7bccd873ade74bb.tar.gz |
API: rename common, bounded_integers -> _common, _bounded_integers; cleanup
Diffstat (limited to 'numpy/random/_bounded_integers.pxd.in')
-rw-r--r-- | numpy/random/_bounded_integers.pxd.in | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/numpy/random/_bounded_integers.pxd.in b/numpy/random/_bounded_integers.pxd.in new file mode 100644 index 000000000..894283c0b --- /dev/null +++ b/numpy/random/_bounded_integers.pxd.in @@ -0,0 +1,26 @@ +from libc.stdint cimport (uint8_t, uint16_t, uint32_t, uint64_t, + int8_t, int16_t, int32_t, int64_t, intptr_t) +import numpy as np +cimport numpy as np +ctypedef np.npy_bool bool_t + +from .bit_generator cimport bitgen_t + +cdef inline uint64_t _gen_mask(uint64_t max_val) nogil: + """Mask generator for use in bounded random numbers""" + # Smallest bit mask >= max + cdef uint64_t mask = max_val + mask |= mask >> 1 + mask |= mask >> 2 + mask |= mask >> 4 + mask |= mask >> 8 + mask |= mask >> 16 + mask |= mask >> 32 + return mask +{{ +py: +inttypes = ('uint64','uint32','uint16','uint8','bool','int64','int32','int16','int8') +}} +{{for inttype in inttypes}} +cdef object _rand_{{inttype}}(object low, object high, object size, bint use_masked, bint closed, bitgen_t *state, object lock) +{{endfor}} |