Struct miniz_oxide::deflate::core::HuffmanOxide
source · struct HuffmanOxide {
pub count: [[u16; 288]; 3],
pub codes: [[u16; 288]; 3],
pub code_sizes: [[u8; 288]; 3],
}
Expand description
A struct containing data about huffman codes and symbol frequencies.
NOTE: Only the literal/lengths have enough symbols to actually use the full array. It’s unclear why it’s defined like this in miniz, it could be for cache/alignment reasons.
Fields§
§count: [[u16; 288]; 3]
Number of occurrences of each symbol.
codes: [[u16; 288]; 3]
The bits of the huffman code assigned to the symbol
code_sizes: [[u8; 288]; 3]
The length of the huffman code assigned to the symbol.
Implementations§
source§impl HuffmanOxide
impl HuffmanOxide
fn radix_sort_symbols<'a>( symbols0: &'a mut [SymFreq], symbols1: &'a mut [SymFreq] ) -> &'a mut [SymFreq]
fn calculate_minimum_redundancy(symbols: &mut [SymFreq])
fn enforce_max_code_size( num_codes: &mut [i32], code_list_len: usize, max_code_size: usize )
fn optimize_table( &mut self, table_num: usize, table_len: usize, code_size_limit: usize, static_table: bool )
fn start_static_block(&mut self, output: &mut OutputBufferOxide<'_>)
fn start_dynamic_block( &mut self, output: &mut OutputBufferOxide<'_> ) -> Result<(), Error>
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for HuffmanOxide
impl Send for HuffmanOxide
impl Sync for HuffmanOxide
impl Unpin for HuffmanOxide
impl UnwindSafe for HuffmanOxide
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