pub struct ArithmeticEncoder { /* private fields */ }Expand description
Arithmetic encoder for near-optimal compression
Uses adaptive probability models to achieve compression rates close to the theoretical entropy limit.
Implementations§
Source§impl ArithmeticEncoder
impl ArithmeticEncoder
Sourcepub fn new(alphabet_size: usize) -> Self
pub fn new(alphabet_size: usize) -> Self
Create a new arithmetic encoder with uniform initialization
§Arguments
alphabet_size- Number of unique symbols
Sourcepub fn from_frequencies(frequencies: HashMap<u32, u64>) -> Self
pub fn from_frequencies(frequencies: HashMap<u32, u64>) -> Self
Create encoder from existing frequencies
Sourcepub fn frequencies(&self) -> &HashMap<u32, u64>
pub fn frequencies(&self) -> &HashMap<u32, u64>
Get the codebook for inspection
Auto Trait Implementations§
impl Freeze for ArithmeticEncoder
impl RefUnwindSafe for ArithmeticEncoder
impl Send for ArithmeticEncoder
impl Sync for ArithmeticEncoder
impl Unpin for ArithmeticEncoder
impl UnwindSafe for ArithmeticEncoder
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