diff options
author | Kevin Sheppard <kevin.k.sheppard@gmail.com> | 2019-09-13 23:04:15 +0100 |
---|---|---|
committer | Kevin Sheppard <kevin.k.sheppard@gmail.com> | 2019-09-14 21:35:15 +0100 |
commit | 5e148ad95f6135382ee5adf999a38342b792ae06 (patch) | |
tree | dc3602426c41e68e32a2ffda27cbfe0b015acbeb /numpy/random/src | |
parent | 31ffdecf07d18ed4dbb66b171cb0f998d4b190fa (diff) | |
download | numpy-5e148ad95f6135382ee5adf999a38342b792ae06.tar.gz |
BUG: Fix randint when range is 2**32
Fix randint to use 32-bit path when range is exactly 2**32
closes #14189
Diffstat (limited to 'numpy/random/src')
-rw-r--r-- | numpy/random/src/distributions/distributions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/numpy/random/src/distributions/distributions.c b/numpy/random/src/distributions/distributions.c index 65257ecbf..f8d6b9dc5 100644 --- a/numpy/random/src/distributions/distributions.c +++ b/numpy/random/src/distributions/distributions.c @@ -1478,7 +1478,7 @@ uint64_t random_bounded_uint64(bitgen_t *bitgen_state, uint64_t off, uint64_t rng, uint64_t mask, bool use_masked) { if (rng == 0) { return off; - } else if (rng < 0xFFFFFFFFUL) { + } else if (rng <= 0xFFFFFFFFUL) { /* Call 32-bit generator if range in 32-bit. */ if (use_masked) { return off + buffered_bounded_masked_uint32(bitgen_state, rng, mask, NULL, @@ -1592,7 +1592,7 @@ void random_bounded_uint64_fill(bitgen_t *bitgen_state, uint64_t off, for (i = 0; i < cnt; i++) { out[i] = off; } - } else if (rng < 0xFFFFFFFFUL) { + } else if (rng <= 0xFFFFFFFFUL) { uint32_t buf = 0; int bcnt = 0; |