simple_accumulator

Crates.iosimple_accumulator
lib.rssimple_accumulator
version0.7.0
created_at2022-06-16 04:46:19.709274+00
updated_at2024-02-12 09:46:45.488441+00
descriptionA simple accumulator for incremental statistical computations
homepagehttps://github.com/SubconsciousCompute/SimpleAccumulator
repositoryhttps://github.com/SubconsciousCompute/SimpleAccumulator
max_upload_size
id607217
size23,793
Purnata Ghosal (purnatag)

documentation

https://docs.rs/simple_accumulator

README

SimpleAccumulator

Crates.io docs.rs Crates.io

This crate is inspired by Boost::Accumulator which supports incremental statistical computation (online algorithms). This is a work in progress but usable. Please write integration tests before using it in production.

Read Documentation

Notes

  • 2023-12-20: Version 0.6 is a major rewrite that fix many embarassing bugs. In 0.6+, we are relying on watermill crate for underlying algorithms.

Usage:

use simple_accumulator::SimpleAccumulator;

fn main() {
    let k = [1, 2, 3, 4];

    // If second argument is `None` then accumulator stores all the data. 
    let mut x = SimpleAccumulator::new(&k, Some(10));

    println!("{:?}", x);
    
    x.push(5);
    println!("{:?}", x);

    print!("{}", x.mean());
    print!("{}", x.median());
    print!("{}", x.variance());
    print!("{}", x.sum());
    print!("{}", x.kurtosis());
    ...
}
Commit count: 61

cargo fmt