use rand::Rng;
use rv::dist::Gaussian;
use rv::traits::Rv;
pub fn discontinuous_jump<R: Rng>(
rng: &mut R,
mu_1: f64,
sigma_1: f64,
mu_2: f64,
sigma_2: f64,
switch: usize,
size: usize,
) -> Vec<f64> {
let g1 = Gaussian::new(mu_1, sigma_1).unwrap();
let g2 = Gaussian::new(mu_2, sigma_2).unwrap();
[g1.sample(switch, rng), g2.sample(size - switch, rng)].concat()
}
pub fn coal_mining_incidents() -> Vec<u8> {
let data: [u8; 111] = [
4, 5, 4, 0, 1, 4, 3, 4, 0, 6, 3, 3, 4, 0, 2, 6, 3, 3, 5, 4, 5, 3, 1, 4,
4, 1, 5, 5, 3, 4, 2, 5, 2, 2, 3, 4, 2, 1, 3, 2, 2, 1, 1, 1, 1, 3, 0, 0,
1, 0, 1, 1, 0, 0, 3, 1, 0, 3, 2, 2, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 2,
1, 0, 0, 0, 1, 1, 0, 2, 3, 3, 1, 1, 2, 1, 1, 1, 1, 2, 4, 2, 0, 0, 1, 4,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1,
];
data.to_vec()
}