Skip to content

Commit

Permalink
Rollup merge of rust-lang#78538 - ssomers:btree_testing_rng, r=Mark-S…
Browse files Browse the repository at this point in the history
…imulacrum

BTreeMap: document a curious assumption in test cases

r? ``@Mark-Simulacrum``
  • Loading branch information
JohnTitor authored Nov 6, 2020
2 parents e50ab88 + be01d54 commit 7c7005b
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 0 deletions.
1 change: 1 addition & 0 deletions library/alloc/src/collections/btree/map/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1668,6 +1668,7 @@ create_append_test!(test_append_239, 239);
create_append_test!(test_append_1700, 1700);

fn rand_data(len: usize) -> Vec<(u32, u32)> {
assert!(len * 2 <= 70029); // from that point on numbers repeat
let mut rng = DeterministicRng::new();
Vec::from_iter((0..len).map(|_| (rng.next(), rng.next())))
}
Expand Down
1 change: 1 addition & 0 deletions library/alloc/src/collections/btree/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ impl DeterministicRng {
DeterministicRng { x: 0x193a6754, y: 0xa8a7d469, z: 0x97830e05, w: 0x113ba7bb }
}

/// Guarantees that the first 70029 results are unique.
fn next(&mut self) -> u32 {
let x = self.x;
let t = x ^ (x << 11);
Expand Down
1 change: 1 addition & 0 deletions library/alloc/src/collections/btree/set/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,7 @@ fn test_first_last() {
}

fn rand_data(len: usize) -> Vec<u32> {
assert!(len <= 70029); // from that point on numbers repeat
let mut rng = DeterministicRng::new();
Vec::from_iter((0..len).map(|_| rng.next()))
}
Expand Down

0 comments on commit 7c7005b

Please sign in to comment.