pub struct ArithmeticCoder {
pub low: u32,
pub high: u32,
pub bits_to_follow: u32,
}Expand description
Simplified binary arithmetic coder.
Maintains interval [low, high) and narrows it on each coded symbol.
The implementation uses integer arithmetic and emits carry-forwarded bits
via the E1/E2 (bit-stuffing) technique.
Fields§
§low: u32Lower bound of the current coding interval.
high: u32Upper bound of the current coding interval.
bits_to_follow: u32Pending follow bits to emit after the next definite bit.
Implementations§
Source§impl ArithmeticCoder
impl ArithmeticCoder
Trait Implementations§
Source§impl Clone for ArithmeticCoder
impl Clone for ArithmeticCoder
Source§fn clone(&self) -> ArithmeticCoder
fn clone(&self) -> ArithmeticCoder
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 moreAuto Trait Implementations§
impl Freeze for ArithmeticCoder
impl RefUnwindSafe for ArithmeticCoder
impl Send for ArithmeticCoder
impl Sync for ArithmeticCoder
impl Unpin for ArithmeticCoder
impl UnsafeUnpin for ArithmeticCoder
impl UnwindSafe for ArithmeticCoder
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<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