pub fn clone_mt19937_from_output(seed: i32) -> MT19937 {
    let mut gen = MT19937::new(seed);

    let mut outputs = Vec::new();
    for _ in 0..624 {
        outputs.push(gen.extract_number().unwrap());
    }

    let mut gen2 = MT19937::uninitialized();
    for i in (0..624).rev() {
        gen2.untemper(i, outputs[i]);
    }

    gen2
}
/// clone_mt19937_from_output creates a clone mt19937 generator
/// form the output of another (with which we can predict values).
///
/// Solution for problem 7 from set 3: <https://cryptopals.com/sets/3/challenges/23>
clone_mt19937_from_output creates a clone mt19937 generator
form the output of another (with which we can predict values).

Solution for problem 7 from set 3.
clone_mt19937_from_output creates a clone mt19937 generator form the output of another ( with which we can predict values ) . Solution for problem 7 from set 3 .
pub fn clone_mt19937_from_output(seed: i32) -> MT19937 {
    let mut gen = MT19937::new(seed);
    let mut outputs = Vec::new();
    for _ in 0..624 {
        outputs.push(gen.extract_number().unwrap());
    }
    let mut gen2 = MT19937::uninitialized();
    for i in (0..624).rev() {
        gen2.untemper(i, outputs[i]);
    }
    gen2
}
pub fn clone_mt19937_from_output ( seed : i32 ) -> MT19937 { let mut gen = MT19937 :: new ( seed ) ; let mut outputs = Vec :: new ( ) ; for _ in 0 .. 624 { outputs . push ( gen . extract_number ( ) . unwrap ( ) ) ; } let mut gen2 = MT19937 :: uninitialized ( ) ; for i in ( 0 .. 624 ) . rev ( ) { gen2 . untemper ( i , outputs [ i ] ) ; } gen2 }
clone_mt19937_from_output creates a clone mt19937 generator
form the output of another (with which we can predict values).
clone_mt19937_from_output creates a clone mt19937 generator form the output of another ( with which we can predict values ) .
seed
i32