# Struct rolling_stats::Stats[−][src]

```pub struct Stats<T: Float + Zero + One + AddAssign + FromPrimitive + PartialEq + Debug> {
pub min: T,
pub max: T,
pub mean: T,
pub std_dev: T,
pub count: usize,
// some fields omitted
}```

Stats object calculates continuous min/max/mean/deviation for tracking of time varying statistics.

See: https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford's_Online_algorithm for Details of the underlying algorithm.

## Fields

`min: T`

Minimum value

`max: T`

Maximum value

`mean: T`

Mean of sample set

`std_dev: T`

Standard deviation of sample

`count: usize`

Number of values collected

## Implementations

### `impl<T> Stats<T> where    T: Float + Zero + One + AddAssign + FromPrimitive + PartialEq + Debug, `[src]

#### `pub fn new() -> Stats<T>`[src]

Create a new stats object

#### `pub fn update(&mut self, value: T)`[src]

Update the stats object

#### `pub fn merge<S: Iterator<Item = Stats<T>>>(stats: S) -> Stats<T>`[src]

Merge a set of stats objects for analysis This performs a weighted averaging across the provided stats object, the output object should not be updated further.

## Blanket Implementations

### `impl<T> ToOwned for T where    T: Clone, `[src]

#### `type Owned = T`

The resulting type after obtaining ownership.

### `impl<T, U> TryFrom<U> for T where    U: Into<T>, `[src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

### `impl<T, U> TryInto<U> for T where    U: TryFrom<T>, `[src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.