pub struct PcodecDeltaEncodingOrder(/* private fields */);
Available on crate feature
pcodec
only.Expand description
An integer from 0 to 7 controlling the delta encoding order.
It is the number of times to apply delta encoding before compressing. See https://docs.rs/pco/latest/pco/enum.DeltaSpec.html.
- 0th order takes numbers as-is. This is perfect for columnar data were the order is essentially random.
- 1st order takes consecutive differences, leaving
[0, 2, 0, 2, 0, 2, 0]
. This is best for continuous but noisy time series data, like stock prices or most time series data. - 2nd order takes consecutive differences again, leaving
[2, -2, 2, -2, 2, -2]
. This is best for piecewise-linear or somewhat quadratic data. - Even higher-order is best for time series that are very smooth, like temperature or light sensor readings.
Implementations§
Source§impl PcodecDeltaEncodingOrder
impl PcodecDeltaEncodingOrder
Sourcepub fn new<N>(delta_encoding_order: N) -> Result<PcodecDeltaEncodingOrder, N>
pub fn new<N>(delta_encoding_order: N) -> Result<PcodecDeltaEncodingOrder, N>
Trait Implementations§
Source§impl Clone for PcodecDeltaEncodingOrder
impl Clone for PcodecDeltaEncodingOrder
Source§fn clone(&self) -> PcodecDeltaEncodingOrder
fn clone(&self) -> PcodecDeltaEncodingOrder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PcodecDeltaEncodingOrder
impl Debug for PcodecDeltaEncodingOrder
Source§impl<'de> Deserialize<'de> for PcodecDeltaEncodingOrder
impl<'de> Deserialize<'de> for PcodecDeltaEncodingOrder
Source§fn deserialize<D>(
d: D,
) -> Result<PcodecDeltaEncodingOrder, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
d: D,
) -> Result<PcodecDeltaEncodingOrder, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PcodecDeltaEncodingOrder
impl PartialEq for PcodecDeltaEncodingOrder
Source§impl Serialize for PcodecDeltaEncodingOrder
impl Serialize for PcodecDeltaEncodingOrder
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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
Source§impl TryFrom<u16> for PcodecDeltaEncodingOrder
impl TryFrom<u16> for PcodecDeltaEncodingOrder
Source§impl TryFrom<u32> for PcodecDeltaEncodingOrder
impl TryFrom<u32> for PcodecDeltaEncodingOrder
Source§impl TryFrom<u64> for PcodecDeltaEncodingOrder
impl TryFrom<u64> for PcodecDeltaEncodingOrder
Source§impl TryFrom<u8> for PcodecDeltaEncodingOrder
impl TryFrom<u8> for PcodecDeltaEncodingOrder
Source§impl TryFrom<usize> for PcodecDeltaEncodingOrder
impl TryFrom<usize> for PcodecDeltaEncodingOrder
impl Copy for PcodecDeltaEncodingOrder
impl Eq for PcodecDeltaEncodingOrder
impl StructuralPartialEq for PcodecDeltaEncodingOrder
Auto Trait Implementations§
impl Freeze for PcodecDeltaEncodingOrder
impl RefUnwindSafe for PcodecDeltaEncodingOrder
impl Send for PcodecDeltaEncodingOrder
impl Sync for PcodecDeltaEncodingOrder
impl Unpin for PcodecDeltaEncodingOrder
impl UnwindSafe for PcodecDeltaEncodingOrder
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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