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 Freeze for HuffmanOxide
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