pub enum PcoDeltaSpec {
Auto,
None,
TryConsecutive {
delta_encoding_order: PcoDeltaEncodingOrder,
},
TryLookback,
}
Expand description
Pco delta encoding
Variants§
Auto
Automatically detects a detects a good delta encoding.
This works well most of the time, but costs some compression time and can select a bad delta encoding in adversarial cases.
None
Never uses delta encoding.
This is best if your data is in a random order or adjacent numbers have no relation to each other.
TryConsecutive
Tries taking nth order consecutive deltas.
Supports a delta encoding order up to 7. For instance, 1st order is just regular delta encoding, 2nd is deltas-of-deltas, etc. It is legal to use 0th order, but it is identical to None.
Fields
delta_encoding_order: PcoDeltaEncodingOrder
the order of the delta encoding
TryLookback
Tries delta encoding according to an extra latent variable of “lookback”.
This can improve compression ratio when there are nontrivial patterns in the array, but reduces compression speed substantially.
Trait Implementations§
Source§impl Clone for PcoDeltaSpec
impl Clone for PcoDeltaSpec
Source§fn clone(&self) -> PcoDeltaSpec
fn clone(&self) -> PcoDeltaSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PcoDeltaSpec
impl Debug for PcoDeltaSpec
Source§impl Default for PcoDeltaSpec
impl Default for PcoDeltaSpec
Source§fn default() -> PcoDeltaSpec
fn default() -> PcoDeltaSpec
Source§impl<'de> Deserialize<'de> for PcoDeltaSpec
impl<'de> Deserialize<'de> for PcoDeltaSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for PcoDeltaSpec
impl JsonSchema for PcoDeltaSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§fn always_inline_schema() -> bool
fn always_inline_schema() -> bool
$ref
keyword. Read moreSource§impl PartialEq for PcoDeltaSpec
impl PartialEq for PcoDeltaSpec
Source§impl Serialize for PcoDeltaSpec
impl Serialize for PcoDeltaSpec
impl Copy for PcoDeltaSpec
impl Eq for PcoDeltaSpec
impl StructuralPartialEq for PcoDeltaSpec
Auto Trait Implementations§
impl Freeze for PcoDeltaSpec
impl RefUnwindSafe for PcoDeltaSpec
impl Send for PcoDeltaSpec
impl Sync for PcoDeltaSpec
impl Unpin for PcoDeltaSpec
impl UnwindSafe for PcoDeltaSpec
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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>
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 more