blob: f9aee465d98a9f19fbf4366e4114a8d405129815 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
pub struct Gen {
state: i64,
}
pub fn new(seed: i64) -> Gen {
Gen{
state: seed,
}
}
impl Gen {
pub fn rand(&mut self, max: i32) -> i32 {
self.state = self.state.wrapping_mul(6364136223846793005).wrapping_add(1);
(self.state >> 33 & 0x7fffffff) as i32 % max
}
}
|