Crate lazyrand

Source
Expand description

It is a simple library for generating random numbers easily. The random seed is automatically initialized. But this library is not cryptographically secure. It is based on xoshiro256plusplus.

§Examples

Generate random number

let num = lazyrand::randint(1, 6);
println!("random number = {}", num);

Generate random number with seed. It can be used to generate the same random number sequence.

lazyrand::set_seed(123456);
let n1 = lazyrand::rand();
let n2 = lazyrand::rand();
let n3 = lazyrand::rand();
println!("nums = [{}, {}, {}]", n1, n2, n3);

Generate random floating point number

let f = lazyrand::rand_f64();
println!("num = {}", f);

§Examples - Shuffle

Shuffle slice

let mut a = vec![1, 2, 3, 4, 5];
lazyrand::shuffle(&mut a);
println!("shuffled = {:?}", a);

Choice one element from slice

// choice one number from slice
let mut a = vec![1, 2, 3];
let n = lazyrand::choice(&a);
println!("choice = {:?}", n);
// choice one &str from slice
let mut a = vec!["apple", "banana", "orange"];
let s = lazyrand::choice(&a);
println!("choice = {:?}", s);

§Examples with Random struct

Generate random number with Random struct

let mut random = lazyrand::Random::new();
println!("random number = {}", random.randint(1, 6));

Modules§

lazyrand_time

Structs§

Random

Enums§

SeedTag

Functions§

choice
pick up one element from slice
generate_seed
generate seed
get_tag
get tag
rand
generate random number in range [0, u64::MAX]
rand_bool
generate random value true or false
rand_f64
generate random float in range 0.0 < 1.0
rand_isize
generate random isize
rand_usize
generate random usize
randint
generate random number in range [min, max]
set_seed
set random seed
set_seed_plus
set random seed
set_tag
set tag
shuffle
shuffle slice
srand
set random seed