Mercurial > touhou
comparison utils/src/prng.rs @ 784:1f152ca95658
Replace pytouhou.utils.random.Random with a Rust version
libtouhou.Prng now supports having its seed generated randomly using the
getrandom crate, and is now exposed to Python.
| author | Link Mauve <linkmauve@linkmauve.fr> |
|---|---|
| date | Sun, 23 Nov 2025 12:48:03 +0100 |
| parents | 21b186be2590 |
| children |
comparison
equal
deleted
inserted
replaced
| 783:ec1e06402a97 | 784:1f152ca95658 |
|---|---|
| 6 seed: u16, | 6 seed: u16, |
| 7 } | 7 } |
| 8 | 8 |
| 9 impl Prng { | 9 impl Prng { |
| 10 /// Create a new pseudo-random number generator from this seed. | 10 /// Create a new pseudo-random number generator from this seed. |
| 11 pub fn new(seed: u16) -> Prng { | 11 pub fn new(seed: Option<u16>) -> Prng { |
| 12 // TODO: Maybe add a getrandom::u16() to getrandom instead? | |
| 13 let seed = seed.unwrap_or_else(|| getrandom::u32().unwrap() as u16); | |
| 12 Prng { | 14 Prng { |
| 13 seed, | 15 seed, |
| 14 } | 16 } |
| 15 } | 17 } |
| 16 | 18 |
