Struct ndhistogram::value::Mean
source · pub struct Mean<T = f64, O = f64, C = u32> { /* private fields */ }
Expand description
This ndhistogram bin value computes the mean of the data samples provided when filling.
Mean has 3 type parameters:
- the type that is being averaged,
- the type of the output when calculating the mean and its uncertainty,
- the type that counts the number of fills.
This allows, for example, integers to be used when filling or counting, but a floating point type to compute the mean. In most cases, you will only need to specify the first type as sensible defaults are set for the second two type parameters.
Example
use ndhistogram::{ndhistogram, Histogram, axis::Uniform, value::Mean};
// create a histogram and fill it with some values
let mut hist = ndhistogram!(Uniform::new(10, 0.0, 10.0); Mean<i32>);
hist.fill_with(&0.0, 1);
hist.fill_with(&0.0, 2);
hist.fill_with(&0.0, 3);
let mean = hist.value(&0.0);
assert_eq!(mean.unwrap().get(), 2.0); // should be the mean of [1,2,3]
Implementations§
source§impl<C, T, O> Mean<T, O, C>where
O: From<T> + From<C> + NumOps + Signed + Copy,
C: Copy,
T: Copy,
impl<C, T, O> Mean<T, O, C>where O: From<T> + From<C> + NumOps + Signed + Copy, C: Copy, T: Copy,
sourcepub fn new<I>(values: I) -> Selfwhere
I: IntoIterator<Item = T>,
Self: FillWith<T> + Default,
pub fn new<I>(values: I) -> Selfwhere I: IntoIterator<Item = T>, Self: FillWith<T> + Default,
Factory method to create a Mean from a set of values.
Usually this will not be used as a Histogram will be responsible for creating and filling values.
sourcepub fn num_samples(&self) -> C
pub fn num_samples(&self) -> C
Get the number of times the mean value has been filled.
sourcepub fn variance_of_samples(&self) -> O
pub fn variance_of_samples(&self) -> O
Compute the variance of the samples.
sourcepub fn standard_deviation_of_samples(&self) -> Owhere
O: Float,
pub fn standard_deviation_of_samples(&self) -> Owhere O: Float,
The square root of the variance of the samples.
sourcepub fn variance_of_mean(&self) -> O
pub fn variance_of_mean(&self) -> O
The square of the standard error of the mean.
sourcepub fn standard_error_of_mean(&self) -> Owhere
O: Float,
pub fn standard_error_of_mean(&self) -> Owhere O: Float,
Compute the standard error of the mean.
Trait Implementations§
source§impl<'de, T, O, C> Deserialize<'de> for Mean<T, O, C>where
T: Deserialize<'de>,
C: Deserialize<'de>,
impl<'de, T, O, C> Deserialize<'de> for Mean<T, O, C>where T: Deserialize<'de>, C: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<T, C, O> FillWith<T> for Mean<T, O, C>where
T: Copy + AddAssign + Mul<Output = T>,
C: AddAssign + One,
impl<T, C, O> FillWith<T> for Mean<T, O, C>where T: Copy + AddAssign + Mul<Output = T>, C: AddAssign + One,
source§impl<T: Ord, O: Ord, C: Ord> Ord for Mean<T, O, C>
impl<T: Ord, O: Ord, C: Ord> Ord for Mean<T, O, C>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<T: PartialEq, O: PartialEq, C: PartialEq> PartialEq<Mean<T, O, C>> for Mean<T, O, C>
impl<T: PartialEq, O: PartialEq, C: PartialEq> PartialEq<Mean<T, O, C>> for Mean<T, O, C>
source§impl<T: PartialOrd, O: PartialOrd, C: PartialOrd> PartialOrd<Mean<T, O, C>> for Mean<T, O, C>
impl<T: PartialOrd, O: PartialOrd, C: PartialOrd> PartialOrd<Mean<T, O, C>> for Mean<T, O, C>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<T: Copy, O: Copy, C: Copy> Copy for Mean<T, O, C>
impl<T: Eq, O: Eq, C: Eq> Eq for Mean<T, O, C>
impl<T, O, C> StructuralEq for Mean<T, O, C>
impl<T, O, C> StructuralPartialEq for Mean<T, O, C>
Auto Trait Implementations§
impl<T, O, C> RefUnwindSafe for Mean<T, O, C>where C: RefUnwindSafe, O: RefUnwindSafe, T: RefUnwindSafe,
impl<T, O, C> Send for Mean<T, O, C>where C: Send, O: Send, T: Send,
impl<T, O, C> Sync for Mean<T, O, C>where C: Sync, O: Sync, T: Sync,
impl<T, O, C> Unpin for Mean<T, O, C>where C: Unpin, O: Unpin, T: Unpin,
impl<T, O, C> UnwindSafe for Mean<T, O, C>where C: UnwindSafe, O: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more