use std::fmt::Debug;

pub trait Drift: Copy + Debug {
    fn variance_delta(&self, elapsed: i64) -> f64;
}

#[derive(Clone, Copy, Debug)]
pub struct ConstantDrift(pub f64);

impl Drift for ConstantDrift {
    fn variance_delta(&self, elapsed: i64) -> f64 {
        elapsed as f64 * self.0 * self.0
    }
}
