use diffusionx::random::{
exponential::Exponential, normal::Normal, poisson::Poisson, stable::Stable,
};
fn main() {
println!("===== Example of Basic Random Number Generation =====");
let normal = Normal::new(0.0, 1.0).unwrap();
let normal_samples = normal.samples(10).unwrap();
println!("Normal Distribution (μ=0, σ=1) samples: {normal_samples:?}");
let exponential = Exponential::new(2.0).unwrap();
let exponential_samples = exponential.samples(10).unwrap();
println!("Exponential Distribution (λ=2) samples: {exponential_samples:?}");
let poisson = Poisson::new(5.0).unwrap();
let poisson_samples = poisson.samples::<u32>(10).unwrap();
println!("Poisson Distribution (λ=5) samples: {poisson_samples:?}");
let stable = Stable::new(1.5, 0.5, 1.0, 0.0).unwrap();
let stable_samples = stable.samples(10).unwrap();
println!("Stable Distribution (α=1.5, β=0.5, σ=1, μ=0) samples: {stable_samples:?}");
}