pub struct StatsSet { /* private fields */ }
Implementations§
Source§impl StatsSet
impl StatsSet
Sourcepub fn new_unchecked(values: Vec<(Stat, Precision<ScalarValue>)>) -> Self
pub fn new_unchecked(values: Vec<(Stat, Precision<ScalarValue>)>) -> Self
Create new StatSet without validating uniqueness of all the entries
§Safety
This method will not panic or trigger UB, but may lead to duplicate stats being stored.
Sourcepub fn of(stat: Stat, value: Precision<ScalarValue>) -> Self
pub fn of(stat: Stat, value: Precision<ScalarValue>) -> Self
Create StatsSet from single stat and value
Sourcepub fn as_mut_typed_ref<'a, 'b>(
&'a mut self,
dtype: &'b DType,
) -> MutTypedStatsSetRef<'a, 'b>
pub fn as_mut_typed_ref<'a, 'b>( &'a mut self, dtype: &'b DType, ) -> MutTypedStatsSetRef<'a, 'b>
Wrap stats set with a dtype for mutable typed scalar access
Sourcepub fn as_typed_ref<'a, 'b>(
&'a self,
dtype: &'b DType,
) -> TypedStatsSetRef<'a, 'b>
pub fn as_typed_ref<'a, 'b>( &'a self, dtype: &'b DType, ) -> TypedStatsSetRef<'a, 'b>
Wrap stats set with a dtype for typed scalar access
Source§impl StatsSet
impl StatsSet
Sourcepub fn set(&mut self, stat: Stat, value: Precision<ScalarValue>)
pub fn set(&mut self, stat: Stat, value: Precision<ScalarValue>)
Set the stat stat
to value
.
Sourcepub fn retain_only(&mut self, stats: &[Stat])
pub fn retain_only(&mut self, stats: &[Stat])
Only keep given stats
Sourcepub fn keep_inexact_stats(self, inexact_keep: &[Stat]) -> Self
pub fn keep_inexact_stats(self, inexact_keep: &[Stat]) -> Self
Keep given stats as inexact values
Source§impl StatsSet
Merge helpers
impl StatsSet
Merge helpers
Sourcepub fn merge_ordered(self, other: &Self, dtype: &DType) -> Self
pub fn merge_ordered(self, other: &Self, dtype: &DType) -> Self
Merge stats set other
into self
, with the semantic assumption that other
contains stats from a disjoint array that is appended to the array represented by self
.
Sourcepub fn merge_unordered(self, other: &Self, dtype: &DType) -> Self
pub fn merge_unordered(self, other: &Self, dtype: &DType) -> Self
Merge stats set other
into self
, from a disjoint array, with no ordering assumptions.
Stats that are not commutative (e.g., is_sorted) are dropped from the result.
Sourcepub fn combine_sets(&mut self, other: &Self, dtype: &DType) -> VortexResult<()>
pub fn combine_sets(&mut self, other: &Self, dtype: &DType) -> VortexResult<()>
Given two sets of stats (of differing precision) for the same array, combine them
Trait Implementations§
Source§impl Extend<(Stat, Precision<ScalarValue>)> for StatsSet
impl Extend<(Stat, Precision<ScalarValue>)> for StatsSet
Source§fn extend<T: IntoIterator<Item = (Stat, Precision<ScalarValue>)>>(
&mut self,
iter: T,
)
fn extend<T: IntoIterator<Item = (Stat, Precision<ScalarValue>)>>( &mut self, iter: T, )
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Source§impl From<ArrayStats> for StatsSet
impl From<ArrayStats> for StatsSet
Source§fn from(value: ArrayStats) -> Self
fn from(value: ArrayStats) -> Self
Source§impl From<StatsSet> for ArrayStats
impl From<StatsSet> for ArrayStats
Source§impl FromIterator<(Stat, Precision<ScalarValue>)> for StatsSet
impl FromIterator<(Stat, Precision<ScalarValue>)> for StatsSet
Source§fn from_iter<T: IntoIterator<Item = (Stat, Precision<ScalarValue>)>>(
iter: T,
) -> Self
fn from_iter<T: IntoIterator<Item = (Stat, Precision<ScalarValue>)>>( iter: T, ) -> Self
Source§impl IntoIterator for StatsSet
impl IntoIterator for StatsSet
Source§impl ReadFlatBuffer for StatsSet
impl ReadFlatBuffer for StatsSet
Source§type Source<'a> = ArrayStats<'a>
type Source<'a> = ArrayStats<'a>
Source§type Error = VortexError
type Error = VortexError
Source§impl WriteFlatBuffer for StatsSet
impl WriteFlatBuffer for StatsSet
Source§fn write_flatbuffer<'fb>(
&self,
fbb: &mut FlatBufferBuilder<'fb>,
) -> WIPOffset<Self::Target<'fb>>
fn write_flatbuffer<'fb>( &self, fbb: &mut FlatBufferBuilder<'fb>, ) -> WIPOffset<Self::Target<'fb>>
All statistics written must be exact
Source§type Target<'t> = ArrayStats<'t>
type Target<'t> = ArrayStats<'t>
Auto Trait Implementations§
impl Freeze for StatsSet
impl RefUnwindSafe for StatsSet
impl Send for StatsSet
impl Sync for StatsSet
impl Unpin for StatsSet
impl UnwindSafe for StatsSet
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.