total/
total.rs

1use aporia::{
2    backend::{MT19937_64, PCG, XorShift, LCG, SplitMix64, Xoshiro256StarStar},
3    Rng,
4};
5
6fn main() {
7    // Using PCG
8    let pcg = PCG::new(12345, 67890);
9    let mut rng1 = Rng::new(pcg);
10
11    // Using XorShift
12    let xorshift = XorShift::new(12345);
13    let mut rng2 = Rng::new(xorshift);
14
15    // Using LCG
16    let lcg = LCG::new(12345);
17    let mut rng3 = Rng::new(lcg);
18
19    // Using MT19937_64
20    let mt19937_64 = MT19937_64::new(12345);
21    let mut rng4 = Rng::new(mt19937_64);
22
23    // Using SplitMix64
24    let splitmix64 = SplitMix64::new(12345);
25    let mut rng5 = Rng::new(splitmix64);
26
27    // Using Xoshiro256StarStar
28    let xoshiro256starstar = Xoshiro256StarStar::new(12345);
29    let mut rng6 = Rng::new(xoshiro256starstar);
30
31    println!("PCG: {}", rng1.next_u64());
32    println!("XorShift: {}", rng2.next_u64());
33    println!("LCG: {}", rng3.next_u64());
34    println!("MT19937_64: {}", rng4.next_u64());
35    println!("SplitMix64: {}", rng5.next_u64());
36    println!("Xoshiro256StarStar: {}", rng6.next_u64());
37}