pub(crate) type BitWidth = u8;
pub(crate) type Token = u16;
pub const MAX_TOKEN_SIZE: usize = 16;
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub(crate) struct ByteSpan {
pub(crate) begin: u32,
pub(crate) end: u32,
}
#[inline]
pub(crate) const fn max_dict_size(bits: BitWidth) -> usize {
1usize << bits
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn max_dict_size_12_is_4096() {
assert_eq!(max_dict_size(12), 4096);
}
#[test]
fn max_dict_size_16_is_65536() {
assert_eq!(max_dict_size(16), 65536);
}
#[test]
fn max_token_size_is_16() {
assert_eq!(MAX_TOKEN_SIZE, 16);
}
}