rustc_test::stats

Trait Stats

Source
pub trait Stats {
Show 13 methods // Required methods fn sum(&self) -> f64; fn min(&self) -> f64; fn max(&self) -> f64; fn mean(&self) -> f64; fn median(&self) -> f64; fn var(&self) -> f64; fn std_dev(&self) -> f64; fn std_dev_pct(&self) -> f64; fn median_abs_dev(&self) -> f64; fn median_abs_dev_pct(&self) -> f64; fn percentile(&self, pct: f64) -> f64; fn quartiles(&self) -> (f64, f64, f64); fn iqr(&self) -> f64;
}
Expand description

Trait that provides simple descriptive statistics on a univariate set of numeric samples.

Required Methods§

Source

fn sum(&self) -> f64

Sum of the samples.

Note: this method sacrifices performance at the altar of accuracy Depends on IEEE-754 arithmetic guarantees. See proof of correctness at: [“Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates”] (http://www.cs.cmu.edu/~quake-papers/robust-arithmetic.ps)

Source

fn min(&self) -> f64

Minimum value of the samples.

Source

fn max(&self) -> f64

Maximum value of the samples.

Source

fn mean(&self) -> f64

Arithmetic mean (average) of the samples: sum divided by sample-count.

See: https://en.wikipedia.org/wiki/Arithmetic_mean

Source

fn median(&self) -> f64

Median of the samples: value separating the lower half of the samples from the higher half. Equal to self.percentile(50.0).

See: https://en.wikipedia.org/wiki/Median

Source

fn var(&self) -> f64

Variance of the samples: bias-corrected mean of the squares of the differences of each sample from the sample mean. Note that this calculates the sample variance rather than the population variance, which is assumed to be unknown. It therefore corrects the (n-1)/n bias that would appear if we calculated a population variance, by dividing by (n-1) rather than n.

See: https://en.wikipedia.org/wiki/Variance

Source

fn std_dev(&self) -> f64

Standard deviation: the square root of the sample variance.

Note: this is not a robust statistic for non-normal distributions. Prefer the median_abs_dev for unknown distributions.

See: https://en.wikipedia.org/wiki/Standard_deviation

Source

fn std_dev_pct(&self) -> f64

Standard deviation as a percent of the mean value. See std_dev and mean.

Note: this is not a robust statistic for non-normal distributions. Prefer the median_abs_dev_pct for unknown distributions.

Source

fn median_abs_dev(&self) -> f64

Scaled median of the absolute deviations of each sample from the sample median. This is a robust (distribution-agnostic) estimator of sample variability. Use this in preference to std_dev if you cannot assume your sample is normally distributed. Note that this is scaled by the constant 1.4826 to allow its use as a consistent estimator for the standard deviation.

See: http://en.wikipedia.org/wiki/Median_absolute_deviation

Source

fn median_abs_dev_pct(&self) -> f64

Median absolute deviation as a percent of the median. See median_abs_dev and median.

Source

fn percentile(&self, pct: f64) -> f64

Percentile: the value below which pct percent of the values in self fall. For example, percentile(95.0) will return the value v such that 95% of the samples s in self satisfy s <= v.

Calculated by linear interpolation between closest ranks.

See: http://en.wikipedia.org/wiki/Percentile

Source

fn quartiles(&self) -> (f64, f64, f64)

Quartiles of the sample: three values that divide the sample into four equal groups, each with 1/4 of the data. The middle value is the median. See median and percentile. This function may calculate the 3 quartiles more efficiently than 3 calls to percentile, but is otherwise equivalent.

See also: https://en.wikipedia.org/wiki/Quartile

Source

fn iqr(&self) -> f64

Inter-quartile range: the difference between the 25th percentile (1st quartile) and the 75th percentile (3rd quartile). See quartiles.

See also: https://en.wikipedia.org/wiki/Interquartile_range

Implementations on Foreign Types§

Source§

impl Stats for [f64]

Source§

fn sum(&self) -> f64

Source§

fn min(&self) -> f64

Source§

fn max(&self) -> f64

Source§

fn mean(&self) -> f64

Source§

fn median(&self) -> f64

Source§

fn var(&self) -> f64

Source§

fn std_dev(&self) -> f64

Source§

fn std_dev_pct(&self) -> f64

Source§

fn median_abs_dev(&self) -> f64

Source§

fn median_abs_dev_pct(&self) -> f64

Source§

fn percentile(&self, pct: f64) -> f64

Source§

fn quartiles(&self) -> (f64, f64, f64)

Source§

fn iqr(&self) -> f64

Implementors§