ndhistogram 0.12.0

multi-dimensional histogramming for Rust
Documentation
use ndhistogram::{axis::Uniform, ndhistogram, value::Sum, FillWith, Histogram};
#[test]
fn test_sum_value_fill() {
    let mut hist = ndhistogram!(Uniform::new(1, 0.0, 1.0).unwrap(); Sum<i32>);
    hist.fill(&0.0);
    assert_eq!(hist.value(&0.0).unwrap().get(), 1)
}

fn assert_float_eq(left: f64, right: f64) {
    assert!((left - right).abs() < f64::EPSILON)
}

#[test]
fn test_sum_value_error() {
    let mut hist = ndhistogram!(Uniform::new(1, 0.0, 1.0).unwrap(); Sum);
    hist.fill(&0.0);
    hist.fill(&0.0);
    let binvalue = hist.value(&0.0).unwrap();
    assert_float_eq(binvalue.get(), 2.0);
    assert_float_eq(binvalue.variance(), 2.0);
    assert_float_eq(binvalue.standard_deviation(), 2.0f64.sqrt());
}

#[test]
fn test_sum_value_fill_with() {
    let mut v = Sum::new();
    v.fill_with(12345.678);
    assert_float_eq(v.get(), 12345.678);
}