use std::num::NonZeroUsize;
use sliding_features::{
View,
pure_functions::Echo,
sliding_windows::{
Alma,
ZScoreStandardization,
},
};
fn main() {
let rands: Vec<f64> = (0..100)
.map(|_| rand::random::<f64>() * 20.0 + 100.0)
.collect();
println!("rands: {:?}", rands);
let window_len = NonZeroUsize::new(20).unwrap();
let mut chain = Alma::new(
ZScoreStandardization::new(Echo::new(), window_len), window_len,
);
for v in &rands {
chain.update(*v);
if let Some(last_value) = chain.last() {
println!("transformed value: {}", last_value);
}
}
}