diff options
Diffstat (limited to 'library/alloc/tests/btree/mod.rs')
| -rw-r--r-- | library/alloc/tests/btree/mod.rs | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/library/alloc/tests/btree/mod.rs b/library/alloc/tests/btree/mod.rs new file mode 100644 index 00000000000..1d08ae13e05 --- /dev/null +++ b/library/alloc/tests/btree/mod.rs @@ -0,0 +1,27 @@ +mod map; +mod set; + +/// XorShiftRng +struct DeterministicRng { + x: u32, + y: u32, + z: u32, + w: u32, +} + +impl DeterministicRng { + fn new() -> Self { + DeterministicRng { x: 0x193a6754, y: 0xa8a7d469, z: 0x97830e05, w: 0x113ba7bb } + } + + fn next(&mut self) -> u32 { + let x = self.x; + let t = x ^ (x << 11); + self.x = self.y; + self.y = self.z; + self.z = self.w; + let w_ = self.w; + self.w = w_ ^ (w_ >> 19) ^ (t ^ (t >> 8)); + self.w + } +}  | 
