use rand::Rng; #[derive(Debug, Clone, Copy, PartialEq)] enum Weather { Sunny, Rainy } struct WeatherChain { /// transition[current][next] = probability transition: [[f64; 2]; 2], } impl WeatherChain { fn step(&self, current: Weather, rng: &mut impl Rng) -> Weather { todo!() } fn simulate(&self, start: Weather, steps: usize, rng: &mut impl Rng) -> Vec { todo!() } } fn main() { todo!() }