Skip to content

Commit 021cd0c

Browse files
committed
Fix SIMD tests
Unfortunately, `gen_range` can no longer accept SIMD types (because it requires `PartialOrd`), therefore we have to call `UniformSample::sample_single` directly.
1 parent 9fa343e commit 021cd0c

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/distributions/uniform.rs

+11-6
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ mod tests {
11601160
}
11611161

11621162
for _ in 0..1000 {
1163-
let v: $ty = rng.gen_range(low..high);
1163+
let v = <$ty as SampleUniform>::Sampler::sample_single(low, high, &mut rng);
11641164
assert!($le(low, v) && $lt(v, high));
11651165
}
11661166
}
@@ -1242,7 +1242,8 @@ mod tests {
12421242
assert!(low_scalar <= v && v < high_scalar);
12431243
let v = rng.sample(my_incl_uniform).extract(lane);
12441244
assert!(low_scalar <= v && v <= high_scalar);
1245-
let v = rng.gen_range(low..high).extract(lane);
1245+
let v = <$ty as SampleUniform>::Sampler
1246+
::sample_single(low, high, &mut rng).extract(lane);
12461247
assert!(low_scalar <= v && v < high_scalar);
12471248
}
12481249

@@ -1253,7 +1254,9 @@ mod tests {
12531254

12541255
assert_eq!(zero_rng.sample(my_uniform).extract(lane), low_scalar);
12551256
assert_eq!(zero_rng.sample(my_incl_uniform).extract(lane), low_scalar);
1256-
assert_eq!(zero_rng.gen_range(low..high).extract(lane), low_scalar);
1257+
assert_eq!(<$ty as SampleUniform>::Sampler
1258+
::sample_single(low, high, &mut zero_rng)
1259+
.extract(lane), low_scalar);
12571260
assert!(max_rng.sample(my_uniform).extract(lane) < high_scalar);
12581261
assert!(max_rng.sample(my_incl_uniform).extract(lane) <= high_scalar);
12591262

@@ -1266,7 +1269,9 @@ mod tests {
12661269
(-1i64 << $bits_shifted) as u64,
12671270
);
12681271
assert!(
1269-
lowering_max_rng.gen_range(low..high).extract(lane) < high_scalar
1272+
<$ty as SampleUniform>::Sampler
1273+
::sample_single(low, high, &mut lowering_max_rng)
1274+
.extract(lane) < high_scalar
12701275
);
12711276
}
12721277
}
@@ -1312,9 +1317,9 @@ mod tests {
13121317
fn test_float_assertions() {
13131318
use super::SampleUniform;
13141319
use std::panic::catch_unwind;
1315-
fn range<T: SampleUniform + PartialOrd>(low: T, high: T) {
1320+
fn range<T: SampleUniform>(low: T, high: T) {
13161321
let mut rng = crate::test::rng(253);
1317-
rng.gen_range(low..high);
1322+
T::Sampler::sample_single(low, high, &mut rng);
13181323
}
13191324

13201325
macro_rules! t {

0 commit comments

Comments
 (0)