Crates.io | numeric-statistics |
lib.rs | numeric-statistics |
version | 0.3.2 |
source | src |
created_at | 2025-05-25 20:28:45.576157+00 |
updated_at | 2025-05-27 11:52:48.154562+00 |
description | Numeric Statistics: functions for min, max, average, variance, standard deviation, and more to come. |
homepage | |
repository | https://github.com/numcommand/numeric-statistics-rust-crate/ |
max_upload_size | |
id | 1688675 |
size | 33,164 |
Numeric Statistics provides functions for min, max, average, variance, standard deviation, and more to come.
#[macro_use]
use numeric_statistics::assert_eq_f64;
use numeric_statistics::f64::{
min::*,
max::*,
average::*,
variance::*,
standard_deviation::*
};
let values = &[1.0, 2.0, 4.0];
let min = min(values);
let max = max(values);
let average = average(values);
let variance = variance(values);
let standard_deviation = standard_deviation(values);
assert_eq!(min, 1.0);
assert_eq!(max, 4.0);
assert_eq_f64!(average, 2.3333333333333333 as f64);
assert_eq_f64!(variance, 2.3333333333333333 as f64);
assert_eq_f64!(standard_deviation, 1.5275252316519465 as f64);
You can create all the numeric statistics all within one struct:
#[macro_use]
use numeric_statistics::assert_eq_f64;
use numeric_statistics::f64::all::All;
let values = &[1.0, 2.0, 4.0];
let all = All::new(&values);
println!("{}", all);
assert_eq!(all.min, 1.0);
assert_eq!(all.max, 4.0);
assert_eq_f64!(all.average, 2.3333333333333333 as f64);
assert_eq_f64!(all.variance, 2.3333333333333333 as f64);
assert_eq_f64!(all.standard_deviation, 1.5275252316519465 as f64);
Output:
min: 1.0
max: 4.0
average: 2.3333333333333335
variance: 2.333333333333333
standard deviation: 1.527525231651946
This is a work-in-progress to translate the Num Command software from POSIX into Rust.