MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / build_decode_table

Function build_decode_table

nodedb-codec/src/rans.rs:319–332  ·  view source on GitHub ↗

Build decode lookup table: for each slot in [0, PROB_SCALE), which symbol?

(
    cum_freqs: &[u32; 257],
    _sym_freqs: &[u32; 256],
)

Source from the content-addressed store, hash-verified

317
318/// Build decode lookup table: for each slot in [0, PROB_SCALE), which symbol?
319fn build_decode_table(
320 cum_freqs: &[u32; 257],
321 _sym_freqs: &[u32; 256],
322) -> [u8; PROB_SCALE as usize] {
323 let mut table = [0u8; PROB_SCALE as usize];
324 for sym in 0..256u16 {
325 let start = cum_freqs[sym as usize] as usize;
326 let end = cum_freqs[sym as usize + 1] as usize;
327 for entry in table[start..end].iter_mut() {
328 *entry = sym as u8;
329 }
330 }
331 table
332}
333
334#[cfg(test)]
335mod tests {

Callers 1

decodeFunction · 0.70

Calls 1

iter_mutMethod · 0.80

Tested by

no test coverage detected