pub struct TDigest { /* private fields */ }Expand description
T-digest approximate quantile estimator.
Maintains a sorted set of centroids that approximate the data distribution. Accurate at the extremes (p1, p99) and reasonable in the middle. Mergeable across partitions and shards.
Implementations§
Source§impl TDigest
impl TDigest
pub fn new() -> Self
pub fn with_compression(max_centroids: usize) -> Self
pub fn add(&mut self, value: f64)
pub fn add_batch(&mut self, values: &[f64])
pub fn merge(&mut self, other: &TDigest)
pub fn count(&self) -> u64
Sourcepub fn add_centroid(&mut self, mean: f64, count: u64)
pub fn add_centroid(&mut self, mean: f64, count: u64)
Add a pre-aggregated centroid (for merge/deserialization).
Sourcepub fn centroids(&self) -> Vec<(f64, u64)>
pub fn centroids(&self) -> Vec<(f64, u64)>
Access centroids as (mean, count) pairs for serialization.
Sourcepub fn memory_bytes(&self) -> usize
pub fn memory_bytes(&self) -> usize
Approximate memory usage in bytes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TDigest
impl RefUnwindSafe for TDigest
impl Send for TDigest
impl Sync for TDigest
impl Unpin for TDigest
impl UnsafeUnpin for TDigest
impl UnwindSafe for TDigest
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.