15 lines
306 B
Rust
15 lines
306 B
Rust
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
|
|
}
|
|
}
|