use incr_stats::incr::Stats;
const DATA: [f64; 10] = [1.2, -1.0, 2.3, 10.0, -3.0, 3.2, 0.33, 0.23, 0.23, 1.0];
fn main() {
let mut s = Stats::new();
match s.update(f64::NAN) {
Ok(_) => println!("updated"),
Err(e) => println!("Error when updating: {}", e),
}
for v in &DATA[..5] {
match s.update(*v) {
Ok(_) => {}
Err(e) => println!("Error when updating: {}", e),
}
}
match s.array_update(&DATA[5..]) {
Ok(_) => {}
Err(e) => println!("Error when updating: {}", e),
}
match s.mean() {
Ok(v) => println!("The mean is {:8.4}", v),
Err(e) => println!("Error in mean calculation: {}", e),
}
match s.sample_variance() {
Ok(v) => println!("The variance is {:8.4}", v),
Err(e) => println!("Error in variance calculation: {}", e),
}
match s.sample_skewness() {
Ok(v) => println!("The skewness is {:8.4}", v),
Err(e) => println!("Error in skewness calculation: {}", e),
}
match s.sample_kurtosis() {
Ok(v) => println!("The kurtosis is {:8.4}", v),
Err(e) => println!("Error in kurtosis calculation: {}", e),
}
}