randlib 0.2.0

Dependency-less random value generator using pointer addresses and time
Documentation
use randlib::Rand;

fn main() {
    let mut rng = Rand::new();
    for _ in 0..3 {
        println!("usize MAX:\t{}\t\t\t RNG: {}", usize::MAX, rng.rand());
        println!("u8 MAX:\t\t{}\t\t\t\t\t RNG: {}", u8::MAX, rng.rand_u8());
        println!("i8 MAX:\t\t{}\t\t\t\t\t RNG: {}", i8::MAX, rng.rand_i8());
        println!("u16 MAX:\t{}\t\t\t\t\t RNG: {}", u16::MAX, rng.rand_u16());
        println!("i16 MAX:\t{}\t\t\t\t\t RNG: {}", i16::MAX, rng.rand_i16());
        println!("u32 MAX:\t{}\t\t\t\t RNG: {}", u32::MAX, rng.rand_u32());
        println!("i32 MAX:\t{}\t\t\t\t RNG: {}", i32::MAX, rng.rand_i32());
        println!("u64 MAX:\t{}\t\t\t RNG: {}", u64::MAX, rng.rand_u64());
        println!("i64 MAX:\t{}\t\t\t RNG: {}", i64::MAX, rng.rand_i64());
        println!("u128 MAX:\t{}\t RNG: {}", u128::MAX, rng.rand_u128());
        println!("i128 MAX:\t{}\t RNG: {}", i128::MAX, rng.rand_i128());
        println!("usize MAX:\t{}\t\t\t RNG: {}", usize::MAX, rng.rand_usize());
        println!(
            "random usize in range 0 to 10 (inclusive):\t\t RNG: {}",
            rng.rand_range(0, 10)
        );
        println!("bool RNG:\t{:?}", rng.rand_bool());
    }
    let mut vector: Vec<usize> = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    println!("before shuffling: {:?}", vector);
    rng.shuffle_vec(&mut vector);
    println!(" after shuffling: {:?}", vector);
    println!("  random element: {}", rng.rand_element(&vector));
}