pub struct ExponentialEncoder { /* private fields */ }
Expand description
Exponential encoding for counter values
Uses a more space-efficient encoding for values that grow exponentially, as described in the research paper for k-mer counting applications.
Implementations§
Source§impl ExponentialEncoder
impl ExponentialEncoder
Sourcepub fn new(base: f64, precision: u32) -> ExponentialEncoder
pub fn new(base: f64, precision: u32) -> ExponentialEncoder
Create a new exponential encoder
Sourcepub fn encode_counter(&self, value: u64) -> Vec<u8> ⓘ
pub fn encode_counter(&self, value: u64) -> Vec<u8> ⓘ
Encode a counter value using exponential encoding
Sourcepub fn decode_counter(&self, data: &[u8]) -> Result<(u64, usize), MapletError>
pub fn decode_counter(&self, data: &[u8]) -> Result<(u64, usize), MapletError>
Decode a counter value from exponential encoding
Auto Trait Implementations§
impl Freeze for ExponentialEncoder
impl RefUnwindSafe for ExponentialEncoder
impl Send for ExponentialEncoder
impl Sync for ExponentialEncoder
impl Unpin for ExponentialEncoder
impl UnwindSafe for ExponentialEncoder
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