Struct brotli::enc::stride_eval::StrideEval
source · pub struct StrideEval<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX> + 'a> {
input: InputPair<'a>,
alloc: &'a mut Alloc,
context_map: &'a PredictionModeContextMap<InputReferenceMut<'a>>,
block_type: u8,
local_byte_offset: usize,
stride_priors: [<Alloc as Allocator<u16>>::AllocatedMemory; 8],
score: <Alloc as Allocator<floatX>>::AllocatedMemory,
cur_score_epoch: usize,
stride_speed: [(u16, u16); 2],
cur_stride: u8,
}
Fields§
§input: InputPair<'a>
§alloc: &'a mut Alloc
§context_map: &'a PredictionModeContextMap<InputReferenceMut<'a>>
§block_type: u8
§local_byte_offset: usize
§stride_priors: [<Alloc as Allocator<u16>>::AllocatedMemory; 8]
§score: <Alloc as Allocator<floatX>>::AllocatedMemory
§cur_score_epoch: usize
§stride_speed: [(u16, u16); 2]
§cur_stride: u8
Implementations§
source§impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX> + 'a> StrideEval<'a, Alloc>
impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX> + 'a> StrideEval<'a, Alloc>
pub fn new( alloc: &'a mut Alloc, input: InputPair<'a>, prediction_mode: &'a PredictionModeContextMap<InputReferenceMut<'a>>, params: &BrotliEncoderParams, ) -> Self
pub fn alloc(&mut self) -> &mut Alloc
pub fn choose_stride(&self, stride_data: &mut [u8])
pub fn num_types(&self) -> usize
fn update_cost_base( &mut self, stride_prior: [u8; 8], selected_bits: u8, cm_prior: usize, literal: u8, )
Trait Implementations§
source§impl<'a, 'b, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> CommandProcessor<'b> for StrideEval<'a, Alloc>
impl<'a, 'b, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> CommandProcessor<'b> for StrideEval<'a, Alloc>
fn push(&mut self, val: Command<InputReference<'b>>)
fn push_literals(&mut self, data: &InputPair<'a>)
fn push_rand_literals(&mut self, data: &InputPair<'a>)
fn push_block_switch_literal(&mut self, block_type: u8)
source§impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> Drop for StrideEval<'a, Alloc>
impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> Drop for StrideEval<'a, Alloc>
source§impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> IRInterpreter for StrideEval<'a, Alloc>
impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> IRInterpreter for StrideEval<'a, Alloc>
fn inc_local_byte_offset(&mut self, inc: usize)
fn local_byte_offset(&self) -> usize
fn update_block_type(&mut self, new_type: u8, stride: u8)
fn block_type(&self) -> u8
fn literal_data_at_offset(&self, index: usize) -> u8
fn literal_context_map(&self) -> &[u8] ⓘ
fn prediction_mode(&self) -> LiteralPredictionModeNibble
fn update_cost( &mut self, stride_prior: [u8; 8], stride_prior_offset: usize, selected_bits: u8, cm_prior: usize, literal: u8, )
Auto Trait Implementations§
impl<'a, Alloc> Freeze for StrideEval<'a, Alloc>where
<Alloc as Allocator<f32>>::AllocatedMemory: Freeze,
<Alloc as Allocator<u16>>::AllocatedMemory: Freeze,
impl<'a, Alloc> RefUnwindSafe for StrideEval<'a, Alloc>where
<Alloc as Allocator<f32>>::AllocatedMemory: RefUnwindSafe,
Alloc: RefUnwindSafe,
<Alloc as Allocator<u16>>::AllocatedMemory: RefUnwindSafe,
impl<'a, Alloc> Send for StrideEval<'a, Alloc>where
<Alloc as Allocator<f32>>::AllocatedMemory: Send,
Alloc: Send,
<Alloc as Allocator<u16>>::AllocatedMemory: Send,
impl<'a, Alloc> Sync for StrideEval<'a, Alloc>where
<Alloc as Allocator<f32>>::AllocatedMemory: Sync,
Alloc: Sync,
<Alloc as Allocator<u16>>::AllocatedMemory: Sync,
impl<'a, Alloc> Unpin for StrideEval<'a, Alloc>where
<Alloc as Allocator<f32>>::AllocatedMemory: Unpin,
<Alloc as Allocator<u16>>::AllocatedMemory: Unpin,
impl<'a, Alloc> !UnwindSafe for StrideEval<'a, Alloc>
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