1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! This crate provides estimators for the weighted and unweighted average of a
//! sequence of numbers, and for their standard errors. The typical workflow
//! looks like this:
//!
//! 1. Initialize your estimator of choice (`Average`, `WeightedAverage` or
//! `WeightedAverage2`) with `new()`.
//! 2. Add some subset (called "samples") of the sequence of numbers (called
//! "population") for which you want to estimate the average, using `add()`
//! or `collect()`.
//! 3. Calculate the arithmetic mean with `mean()` and its standard error with
//! `error().
//!
//! You can run several estimators in parallel and merge them into one with
//! `merge()`.
//!
//! ## Example
//!
//! ```
//! use average::Average;
//!
//! let mut a: Average = (1..6).map(Into::into).collect();
//! a.add(42.);
//! println!("The average is {} ± {}.", a.mean(), a.error());
//! ```
extern crate conv;
extern crate rand;
extern crate std;
pub use Average;
pub use WeightedAverage;
pub use WeightedAverage as WeightedAverage2;