pub struct LinearEstimator { /* private fields */ }Expand description
Fits y = slope * x + intercept across all values, stores residuals bitpacked.
Header: codec_id(1) + intercept(8) + slope_num(8) + slope_den(8) + bpv(1) + offset(8) = 34
Estimation uses O(1) memory by tracking value extremes during collection and
computing worst-case residual bounds in finalize().
Limitation: the per-column offset is stored as i64 (8 bytes). When values
span nearly the full u64 range (e.g. FAST_FIELD_MISSING mixed with small
values), residuals can exceed i64 bounds. The estimator returns None in
that case so the auto-selector falls back to bitpacked.
Trait Implementations§
Source§impl CodecEstimator for LinearEstimator
impl CodecEstimator for LinearEstimator
Source§impl Default for LinearEstimator
impl Default for LinearEstimator
Source§fn default() -> LinearEstimator
fn default() -> LinearEstimator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LinearEstimator
impl RefUnwindSafe for LinearEstimator
impl Send for LinearEstimator
impl Sync for LinearEstimator
impl Unpin for LinearEstimator
impl UnsafeUnpin for LinearEstimator
impl UnwindSafe for LinearEstimator
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 more