pub struct FrequencyTable { /* private fields */ }Expand description
A frequency model for rANS with total (T = 2^{precision_bits}).
Implementations§
Source§impl FrequencyTable
impl FrequencyTable
Sourcepub fn from_counts(
counts: &[u32],
precision_bits: u32,
) -> Result<Self, AnsError>
pub fn from_counts( counts: &[u32], precision_bits: u32, ) -> Result<Self, AnsError>
Build a normalized frequency table from raw counts.
precision_bits sets (T = 2^{precision_bits}), the total frequency mass.
Counts are scaled to sum to (T), with a minimal correction pass to preserve
nonzero symbols where possible.
Sourcepub fn precision_bits(&self) -> u32
pub fn precision_bits(&self) -> u32
The number of precision bits, i.e. log2(total).
Sourcepub fn alphabet_size(&self) -> usize
pub fn alphabet_size(&self) -> usize
Number of symbols in the alphabet.
Sourcepub fn freq(&self, sym: u32) -> Option<u32>
pub fn freq(&self, sym: u32) -> Option<u32>
Normalized frequency for sym, or None if out of range.
Sourcepub fn cum_freq(&self, sym: u32) -> Option<u32>
pub fn cum_freq(&self, sym: u32) -> Option<u32>
Cumulative frequency (CDF value) for sym, or None if out of range.
Sourcepub fn symbol_at_slot(&self, slot: u32) -> Option<u32>
pub fn symbol_at_slot(&self, slot: u32) -> Option<u32>
Look up the symbol that owns a cumulative-frequency slot.
slot must be in 0..total. Returns None if out of range.
This is the inverse of the CDF: given a slot in [0, T), it returns
the symbol whose frequency interval contains that slot.
Trait Implementations§
Source§impl Clone for FrequencyTable
impl Clone for FrequencyTable
Source§fn clone(&self) -> FrequencyTable
fn clone(&self) -> FrequencyTable
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 FrequencyTable
impl RefUnwindSafe for FrequencyTable
impl Send for FrequencyTable
impl Sync for FrequencyTable
impl Unpin for FrequencyTable
impl UnsafeUnpin for FrequencyTable
impl UnwindSafe for FrequencyTable
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