Struct net_ensembles::sampling::HistogramInt [−][src]
pub struct HistogramInt<T> { /* fields omitted */ }
Expand description
Implementations
impl<T> HistogramInt<T> where
T: Zero + Copy + PartialOrd<T> + ToPrimitive + FromPrimitive + CheckedAdd + One<Output = T> + HasUnsignedVersion + Bounded + Sub<T, Output = T> + Mul<T>,
RangeInclusive<T>: Iterator,
<T as HasUnsignedVersion>::Unsigned: Bounded,
<T as HasUnsignedVersion>::Unsigned: HasUnsignedVersion,
<T as HasUnsignedVersion>::Unsigned: WrappingAdd,
<T as HasUnsignedVersion>::Unsigned: ToPrimitive,
<T as HasUnsignedVersion>::Unsigned: Sub<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: Rem<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: FromPrimitive,
<T as HasUnsignedVersion>::Unsigned: Zero,
<T as HasUnsignedVersion>::Unsigned: Eq,
<T as HasUnsignedVersion>::Unsigned: Div<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: Ord,
<T as HasUnsignedVersion>::Unsigned: Mul<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: WrappingSub,
<T as HasUnsignedVersion>::Unsigned: Copy,
RangeInclusive<<T as HasUnsignedVersion>::Unsigned>: Iterator,
<RangeInclusive<T> as Iterator>::Item == T,
<<T as HasUnsignedVersion>::Unsigned as HasUnsignedVersion>::LeBytes == <T as HasUnsignedVersion>::LeBytes,
<<T as HasUnsignedVersion>::Unsigned as HasUnsignedVersion>::Unsigned == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Sub<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Rem<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Div<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Mul<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<RangeInclusive<<T as HasUnsignedVersion>::Unsigned> as Iterator>::Item == <T as HasUnsignedVersion>::Unsigned,
impl<T> HistogramInt<T> where
T: Zero + Copy + PartialOrd<T> + ToPrimitive + FromPrimitive + CheckedAdd + One<Output = T> + HasUnsignedVersion + Bounded + Sub<T, Output = T> + Mul<T>,
RangeInclusive<T>: Iterator,
<T as HasUnsignedVersion>::Unsigned: Bounded,
<T as HasUnsignedVersion>::Unsigned: HasUnsignedVersion,
<T as HasUnsignedVersion>::Unsigned: WrappingAdd,
<T as HasUnsignedVersion>::Unsigned: ToPrimitive,
<T as HasUnsignedVersion>::Unsigned: Sub<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: Rem<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: FromPrimitive,
<T as HasUnsignedVersion>::Unsigned: Zero,
<T as HasUnsignedVersion>::Unsigned: Eq,
<T as HasUnsignedVersion>::Unsigned: Div<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: Ord,
<T as HasUnsignedVersion>::Unsigned: Mul<<T as HasUnsignedVersion>::Unsigned>,
<T as HasUnsignedVersion>::Unsigned: WrappingSub,
<T as HasUnsignedVersion>::Unsigned: Copy,
RangeInclusive<<T as HasUnsignedVersion>::Unsigned>: Iterator,
<RangeInclusive<T> as Iterator>::Item == T,
<<T as HasUnsignedVersion>::Unsigned as HasUnsignedVersion>::LeBytes == <T as HasUnsignedVersion>::LeBytes,
<<T as HasUnsignedVersion>::Unsigned as HasUnsignedVersion>::Unsigned == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Sub<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Rem<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Div<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<<T as HasUnsignedVersion>::Unsigned as Mul<<T as HasUnsignedVersion>::Unsigned>>::Output == <T as HasUnsignedVersion>::Unsigned,
<RangeInclusive<<T as HasUnsignedVersion>::Unsigned> as Iterator>::Item == <T as HasUnsignedVersion>::Unsigned,
Create a new histogram
right
: exclusive borderleft
: inclusive borderbins
: how many bins do you need?
Note
(right - left) % bins == 0
has to be true, otherwise the bins cannot all have the same length!
Create a new histogram
- equivalent to
Self::new(left, right + 1, bins)
(except that this method checks for possible overflow)
Note:
- Due to implementation details,
right
cannot beT::MAX
- if you try, you will getErr(HistErrors::Overflow)
Trait Implementations
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<HistogramInt<T>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<HistogramInt<T>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
self.hist[index] += count
, Err()
if index
out of bounds
self.hist[index] += 1
, Err()
if index
out of bounds
check if any bin was not hit yet
impl<T> HistogramIntervalDistance<T> for HistogramInt<T> where
T: Sub<T, Output = T> + Add<T, Output = T> + One + NumCast + Copy + Ord,
impl<T> HistogramIntervalDistance<T> for HistogramInt<T> where
T: Sub<T, Output = T> + Add<T, Output = T> + One + NumCast + Copy + Ord,
pub fn interval_distance_overlap<V>(
&self,
val: V,
overlap: NonZeroUsize
) -> usize where
V: Borrow<T>,
pub fn interval_distance_overlap<V>(
&self,
val: V,
overlap: NonZeroUsize
) -> usize where
V: Borrow<T>,
Distance metric for how far a value is from a valid interval Read more
pub fn overlapping_partition(
&self,
n: usize,
overlap: usize
) -> Result<Vec<HistogramInt<T>, Global>, HistErrors>
pub fn overlapping_partition(
&self,
n: usize,
overlap: usize
) -> Result<Vec<HistogramInt<T>, Global>, HistErrors>
partition the interval Read more
impl<T> HistogramVal<T> for HistogramInt<T> where
T: Sub<T, Output = T> + Add<T, Output = T> + One + NumCast + Copy + Ord,
impl<T> HistogramVal<T> for HistogramInt<T> where
T: Sub<T, Output = T> + Add<T, Output = T> + One + NumCast + Copy + Ord,
None if not inside Hist covered zone
calculates some sort of absolute distance to the nearest valid bin Read more
get the left most border (inclusive)
let b = self.borders_clone().expect("overflow"); assert_eq!(self.second_last_border(), b[b.len()-2])
does a value correspond to a valid bin?
opposite of is_inside
binning borders Read more
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for HistogramInt<T> where
T: RefUnwindSafe,
impl<T> Send for HistogramInt<T> where
T: Send,
impl<T> Sync for HistogramInt<T> where
T: Sync,
impl<T> Unpin for HistogramInt<T> where
T: Unpin,
impl<T> UnwindSafe for HistogramInt<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn cast_trunc(self) -> T
pub fn cast_trunc(self) -> T
Cast to integer, truncating Read more
pub fn cast_nearest(self) -> T
pub fn cast_nearest(self) -> T
Cast to the nearest integer Read more
pub fn cast_floor(self) -> T
pub fn cast_floor(self) -> T
Cast the floor to an integer Read more
pub fn try_cast_trunc(self) -> Result<T, Error>
pub fn try_cast_trunc(self) -> Result<T, Error>
Try converting to integer with truncation Read more
pub fn try_cast_nearest(self) -> Result<T, Error>
pub fn try_cast_nearest(self) -> Result<T, Error>
Try converting to the nearest integer Read more
pub fn try_cast_floor(self) -> Result<T, Error>
pub fn try_cast_floor(self) -> Result<T, Error>
Try converting the floor to an integer Read more
pub fn try_cast_ceil(self) -> Result<T, Error>
pub fn try_cast_ceil(self) -> Result<T, Error>
Try convert the ceiling to an integer Read more