usestd::fmt::Debug;pubtraitMovingAverage<Term>: Debug {fnadd_term(&mutself, new_term: Term);/// Returns the moving average value; in case there are no terms, the convention is to return 0
fnvalue(&self)->f64;/// Adapts the internal data structures to take into account the given interval length; this
/// makes sense for moving averages that consider the k previous points, e.g., windowed moving
/// average
fnadapt(&mutself, interval_length:u64);}