Skip to content

Commit b2ba486

Browse files
pitdickerdhardy
authored andcommitted
Use mask in gen_range_i benchmarks
1 parent 139eca5 commit b2ba486

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

benches/distributions.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ distr_int!(distr_poisson, u64, Poisson::new(4.0));
108108

109109
// construct and sample from a range
110110
macro_rules! gen_range_int {
111-
($fnn:ident, $ty:ty, $low:expr, $high:expr, $incr:expr) => {
111+
($fnn:ident, $ty:ident, $low:expr, $high:expr) => {
112112
#[bench]
113113
fn $fnn(b: &mut Bencher) {
114114
let mut rng = XorShiftRng::new();
@@ -118,7 +118,8 @@ macro_rules! gen_range_int {
118118
let mut accum: $ty = 0;
119119
for _ in 0..::RAND_BENCH_N {
120120
accum = accum.wrapping_add(rng.gen_range($low, high));
121-
high += $incr; // force recalculation of range each time
121+
// force recalculation of range each time
122+
high = high.wrapping_add(1) & std::$ty::MAX;
122123
}
123124
black_box(accum);
124125
});
@@ -127,9 +128,9 @@ macro_rules! gen_range_int {
127128
}
128129
}
129130

130-
gen_range_int!(gen_range_i8, i8, 20i8, 100, 0);
131-
gen_range_int!(gen_range_i16, i16, -500i16, 2000, 1);
132-
gen_range_int!(gen_range_i32, i32, -200_000_000i32, 800_000_000, 3);
133-
gen_range_int!(gen_range_i64, i64, 3i64, 12345678901234, 3);
131+
gen_range_int!(gen_range_i8, i8, -20i8, 100);
132+
gen_range_int!(gen_range_i16, i16, -500i16, 2000);
133+
gen_range_int!(gen_range_i32, i32, -200_000_000i32, 800_000_000);
134+
gen_range_int!(gen_range_i64, i64, 3i64, 12345678901234);
134135
#[cfg(feature = "i128_support")]
135-
gen_range_int!(gen_range_i128, i128, -12345678901234i128, 12345678901234567890, 3);
136+
gen_range_int!(gen_range_i128, i128, -12345678901234i128, 12345678901234567890);

0 commit comments

Comments
 (0)