Module mt64

Module mt64 

Source
Expand description

The mt64 module provides 64bit implementation for Mersenne Twister 19937.

use tiny_prng::mt64::Mt19937;
use std::time::SystemTime;

const MODV: u128 = 19937 * 273;
const MODS: usize = 11;

fn main(){
    let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_nanos();
    // Note: That's good to refer additional source(s) to calculate the seed
    let seed = ((now % MODV) << MODS) + now;
    // A generator must be a mutable because its internal state alters at the random number generation.
    let mut x = Mt19937::with_array(vec![123,234,345,456]);
    println!("{} {} {}", x.generate(),x.generate(),x.generate());
}

Structsยง

Mt19937