Skip to main content

numeric_statistics/
lib.rs

1//! # Numeric Statistics Rust crate
2//! 
3//! Numeric Statistics provides functions for min, max, average, variance, standard deviation, and more to come.
4//! 
5//! ## Example
6//! 
7//! ```rust
8//! #[macro_use]
9//! use numeric_statistics::assert_eq_f64;
10//! use numeric_statistics::f64::{
11//!     min::*,
12//!     max::*,
13//!     average::*,
14//!     variance::*, 
15//!     standard_deviation::*
16//! };
17//! 
18//! let values = &[1.0, 2.0, 4.0];
19//! let min = min(values);
20//! let max = max(values);
21//! let average = average(values);
22//! let variance = variance(values);
23//! let standard_deviation = standard_deviation(values);
24//! 
25//! assert_eq!(min, 1.0);
26//! assert_eq!(max, 4.0);
27//! assert_eq_f64!(average, 2.3333333333333333 as f64);
28//! assert_eq_f64!(variance, 2.3333333333333333 as f64);
29//! assert_eq_f64!(standard_deviation, 1.5275252316519465 as f64);
30//! ```
31//! 
32//! ## All
33//! 
34//! You can create all the numeric statistics all within one struct:
35//! 
36//! ```rust
37//! #[macro_use]
38//! use numeric_statistics::assert_eq_f64;
39//! use numeric_statistics::f64::all::All;
40//! 
41//! let values = &[1.0, 2.0, 4.0];
42//! let all = All::new(&values);
43//! println!("{}", all);
44//! 
45//! assert_eq!(all.min, 1.0);
46//! assert_eq!(all.max, 4.0);
47//! assert_eq_f64!(all.average, 2.3333333333333333 as f64);
48//! assert_eq_f64!(all.variance, 2.3333333333333333 as f64);
49//! assert_eq_f64!(all.standard_deviation, 1.5275252316519465 as f64);
50//! ```
51//! 
52//! Output:
53//! 
54//! ```stdout
55//! min: 1.0
56//! max: 4.0
57//! average: 2.3333333333333335
58//! variance: 2.333333333333333
59//! standard deviation: 1.527525231651946
60//! ```
61//! 
62//! ## Num Command
63//! 
64//! This is a work-in-progress to translate the Num Command software from POSIX into Rust.
65//! 
66//! <https://github.com/numcommand/num>
67//! 
68
69pub mod f32;
70pub mod f64;