pub struct RangeEncoder { /* private fields */ }Expand description
Range encoder for efficient entropy coding
Range coding is a variant of arithmetic coding that’s more efficient in practice due to simplified renormalization and better bit packing.
Implementations§
Source§impl RangeEncoder
impl RangeEncoder
Sourcepub fn from_frequencies(frequencies: HashMap<u32, u64>) -> TokenizerResult<Self>
pub fn from_frequencies(frequencies: HashMap<u32, u64>) -> TokenizerResult<Self>
Create a new range encoder from frequencies
Sourcepub fn frequencies(&self) -> &HashMap<u32, u64>
pub fn frequencies(&self) -> &HashMap<u32, u64>
Get the frequency table
Auto Trait Implementations§
impl Freeze for RangeEncoder
impl RefUnwindSafe for RangeEncoder
impl Send for RangeEncoder
impl Sync for RangeEncoder
impl Unpin for RangeEncoder
impl UnwindSafe for RangeEncoder
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> 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