type N = HuffmanNode;
type L = LeafData;
const fn nz(n: u32) -> NonZeroU32 { NonZeroU32::new(n).unwrap() }
#[rustfmt::skip]
const TABLE_A: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(1)), one: Some(nz(2)) },
N::Leaf(L { range_low: 0, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(3)), one: Some(nz(4)) },
N::Leaf(L { range_low: 16, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(5)), one: Some(nz(6)) },
N::Leaf(L { range_low: 272, range_length: 16, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 65808, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_B: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(1)), one: Some(nz(2)) },
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(3)), one: Some(nz(4)) },
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(5)), one: Some(nz(6)) },
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(7)), one: Some(nz(8)) },
N::Leaf(L { range_low: 3, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(9)), one: Some(nz(10)) },
N::Leaf(L { range_low: 11, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(11)), one: Some(nz(12)) },
N::Leaf(L { range_low: 75, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: true }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_C: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(9)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(10)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(11)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(12)), one: Some(nz(4)) },
N::Intermediate { zero: Some(nz(13)), one: Some(nz(5)) },
N::Intermediate { zero: Some(nz(16)), one: Some(nz(6)) },
N::Intermediate { zero: Some(nz(15)), one: Some(nz(7)) },
N::Intermediate { zero: Some(nz(8)), one: Some(nz(14)) },
N::Leaf(L { range_low: -256, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 3, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 11, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -257, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 75, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: true }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_D: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(1)), one: Some(nz(2)) },
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(3)), one: Some(nz(4)) },
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(5)), one: Some(nz(6)) },
N::Leaf(L { range_low: 3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(7)), one: Some(nz(8)) },
N::Leaf(L { range_low: 4, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(9)), one: Some(nz(10)) },
N::Leaf(L { range_low: 12, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 76, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_E: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(8)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(9)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(10)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(11)), one: Some(nz(4)) },
N::Intermediate { zero: Some(nz(12)), one: Some(nz(5)) },
N::Intermediate { zero: Some(nz(14)), one: Some(nz(6)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(13)) },
N::Leaf(L { range_low: -255, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 4, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 12, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -256, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 76, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_F: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(16)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(6)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(21)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(4)), one: Some(nz(13)) },
N::Intermediate { zero: Some(nz(5)), one: Some(nz(12)) },
N::Leaf(L { range_low: -2048, range_length: 10, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(7)), one: Some(nz(10)) },
N::Intermediate { zero: Some(nz(8)), one: Some(nz(9)) },
N::Leaf(L { range_low: -1024, range_length: 9, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -512, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(11)), one: Some(nz(15)) },
N::Leaf(L { range_low: -256, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -128, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(14)), one: Some(nz(24)) },
N::Leaf(L { range_low: -64, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -32, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(17)), one: Some(nz(18)) },
N::Leaf(L { range_low: 0, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(19)), one: Some(nz(20)) },
N::Leaf(L { range_low: 128, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 256, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(22)), one: Some(nz(23)) },
N::Leaf(L { range_low: 512, range_length: 9, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1024, range_length: 10, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(25)), one: Some(nz(26)) },
N::Leaf(L { range_low: -2049, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 2048, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_G: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(5)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(2)), one: Some(nz(9)) },
N::Intermediate { zero: Some(nz(3)), one: Some(nz(14)) },
N::Intermediate { zero: Some(nz(4)), one: Some(nz(8)) },
N::Leaf(L { range_low: -1024, range_length: 9, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(6)), one: Some(nz(23)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(22)) },
N::Leaf(L { range_low: -512, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -256, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(10)), one: Some(nz(17)) },
N::Intermediate { zero: Some(nz(21)), one: Some(nz(11)) },
N::Intermediate { zero: Some(nz(12)), one: Some(nz(13)) },
N::Leaf(L { range_low: -128, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -64, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(15)), one: Some(nz(16)) },
N::Leaf(L { range_low: -32, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(18)), one: Some(nz(26)) },
N::Intermediate { zero: Some(nz(19)), one: Some(nz(20)) },
N::Leaf(L { range_low: 32, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 64, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 128, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 256, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(24)), one: Some(nz(25)) },
N::Leaf(L { range_low: 512, range_length: 9, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1024, range_length: 10, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(27)), one: Some(nz(28)) },
N::Leaf(L { range_low: -1025, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 2048, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_H: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(19)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(16)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(21)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(24)), one: Some(nz(4)) },
N::Intermediate { zero: Some(nz(33)), one: Some(nz(5)) },
N::Intermediate { zero: Some(nz(14)), one: Some(nz(6)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(9)) },
N::Intermediate { zero: Some(nz(8)), one: Some(nz(12)) },
N::Leaf(L { range_low: -15, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(10)), one: Some(nz(37)) },
N::Intermediate { zero: Some(nz(11)), one: Some(nz(13)) },
N::Leaf(L { range_low: -7, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -5, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(15)), one: Some(nz(35)) },
N::Leaf(L { range_low: -2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(27)), one: Some(nz(17)) },
N::Intermediate { zero: Some(nz(18)), one: Some(nz(29)) },
N::Leaf(L { range_low: -1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(20)), one: Some(nz(40)) },
N::Leaf(L { range_low: 0, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(30)), one: Some(nz(22)) },
N::Intermediate { zero: Some(nz(23)), one: Some(nz(31)) },
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(32)), one: Some(nz(25)) },
N::Intermediate { zero: Some(nz(26)), one: Some(nz(28)) },
N::Leaf(L { range_low: 3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 4, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 20, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 22, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 38, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 70, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 134, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(34)), one: Some(nz(36)) },
N::Leaf(L { range_low: 262, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 390, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 646, range_length: 10, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(38)), one: Some(nz(39)) },
N::Leaf(L { range_low: -16, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 1670, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: true }),
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_I: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(19)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(16)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(23)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(26)), one: Some(nz(4)) },
N::Intermediate { zero: Some(nz(35)), one: Some(nz(5)) },
N::Intermediate { zero: Some(nz(14)), one: Some(nz(6)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(9)) },
N::Intermediate { zero: Some(nz(8)), one: Some(nz(12)) },
N::Leaf(L { range_low: -31, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(10)), one: Some(nz(39)) },
N::Intermediate { zero: Some(nz(11)), one: Some(nz(13)) },
N::Leaf(L { range_low: -15, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -11, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -7, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(15)), one: Some(nz(37)) },
N::Leaf(L { range_low: -5, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(29)), one: Some(nz(17)) },
N::Intermediate { zero: Some(nz(18)), one: Some(nz(31)) },
N::Leaf(L { range_low: -3, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(42)), one: Some(nz(20)) },
N::Intermediate { zero: Some(nz(21)), one: Some(nz(22)) },
N::Leaf(L { range_low: -1, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(32)), one: Some(nz(24)) },
N::Intermediate { zero: Some(nz(25)), one: Some(nz(33)) },
N::Leaf(L { range_low: 3, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(34)), one: Some(nz(27)) },
N::Intermediate { zero: Some(nz(28)), one: Some(nz(30)) },
N::Leaf(L { range_low: 5, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 7, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 39, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 43, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 75, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 139, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 267, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(36)), one: Some(nz(38)) },
N::Leaf(L { range_low: 523, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 779, range_length: 9, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1291, range_length: 11, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(40)), one: Some(nz(41)) },
N::Leaf(L { range_low: -32, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 3339, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: true }),
];
#[rustfmt::skip]
const TABLE_J: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(16)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(40)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(13)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(28)), one: Some(nz(4)) },
N::Intermediate { zero: Some(nz(5)), one: Some(nz(8)) },
N::Intermediate { zero: Some(nz(35)), one: Some(nz(6)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(12)) },
N::Leaf(L { range_low: -21, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(22)), one: Some(nz(9)) },
N::Intermediate { zero: Some(nz(10)), one: Some(nz(37)) },
N::Intermediate { zero: Some(nz(11)), one: Some(nz(24)) },
N::Leaf(L { range_low: -5, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -4, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(14)), one: Some(nz(19)) },
N::Intermediate { zero: Some(nz(15)), one: Some(nz(18)) },
N::Leaf(L { range_low: -3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(17)), one: Some(nz(25)) },
N::Leaf(L { range_low: -2, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(26)), one: Some(nz(20)) },
N::Intermediate { zero: Some(nz(21)), one: Some(nz(27)) },
N::Leaf(L { range_low: 3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(23)), one: Some(nz(36)) },
N::Leaf(L { range_low: 4, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 5, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 6, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 70, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 102, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(29)), one: Some(nz(32)) },
N::Intermediate { zero: Some(nz(30)), one: Some(nz(31)) },
N::Leaf(L { range_low: 134, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 198, range_length: 7, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(33)), one: Some(nz(34)) },
N::Leaf(L { range_low: 326, range_length: 8, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 582, range_length: 9, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1094, range_length: 10, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 2118, range_length: 11, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(38)), one: Some(nz(39)) },
N::Leaf(L { range_low: -22, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 4166, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: true }),
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_K: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(1)), one: Some(nz(2)) },
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(3)), one: Some(nz(4)) },
N::Leaf(L { range_low: 2, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(5)), one: Some(nz(8)) },
N::Intermediate { zero: Some(nz(6)), one: Some(nz(7)) },
N::Leaf(L { range_low: 4, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 5, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(9)), one: Some(nz(12)) },
N::Intermediate { zero: Some(nz(10)), one: Some(nz(11)) },
N::Leaf(L { range_low: 7, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 9, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(13)), one: Some(nz(18)) },
N::Intermediate { zero: Some(nz(14)), one: Some(nz(15)) },
N::Leaf(L { range_low: 13, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(16)), one: Some(nz(17)) },
N::Leaf(L { range_low: 17, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 21, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(19)), one: Some(nz(22)) },
N::Intermediate { zero: Some(nz(20)), one: Some(nz(21)) },
N::Leaf(L { range_low: 29, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 45, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(23)), one: Some(nz(24)) },
N::Leaf(L { range_low: 77, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 141, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_L: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(1)), one: Some(nz(2)) },
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(3)), one: Some(nz(4)) },
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(5)), one: Some(nz(6)) },
N::Leaf(L { range_low: 3, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(7)), one: Some(nz(10)) },
N::Intermediate { zero: Some(nz(8)), one: Some(nz(9)) },
N::Leaf(L { range_low: 5, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 6, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(11)), one: Some(nz(16)) },
N::Intermediate { zero: Some(nz(12)), one: Some(nz(13)) },
N::Leaf(L { range_low: 8, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(14)), one: Some(nz(15)) },
N::Leaf(L { range_low: 10, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 11, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(17)), one: Some(nz(20)) },
N::Intermediate { zero: Some(nz(18)), one: Some(nz(19)) },
N::Leaf(L { range_low: 13, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 17, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(21)), one: Some(nz(22)) },
N::Leaf(L { range_low: 25, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(23)), one: Some(nz(24)) },
N::Leaf(L { range_low: 41, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 73, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_M: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(1)), one: Some(nz(2)) },
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(3)), one: Some(nz(5)) },
N::Intermediate { zero: Some(nz(4)), one: Some(nz(12)) },
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(6)), one: Some(nz(8)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(11)) },
N::Leaf(L { range_low: 3, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(9)), one: Some(nz(16)) },
N::Intermediate { zero: Some(nz(10)), one: Some(nz(13)) },
N::Leaf(L { range_low: 4, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 5, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 7, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(14)), one: Some(nz(15)) },
N::Leaf(L { range_low: 15, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 17, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(17)), one: Some(nz(20)) },
N::Intermediate { zero: Some(nz(18)), one: Some(nz(19)) },
N::Leaf(L { range_low: 21, range_length: 3, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 29, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(21)), one: Some(nz(22)) },
N::Leaf(L { range_low: 45, range_length: 5, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(23)), one: Some(nz(24)) },
N::Leaf(L { range_low: 77, range_length: 6, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 141, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_N: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(5)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(2)), one: Some(nz(6)) },
N::Intermediate { zero: Some(nz(3)), one: Some(nz(4)) },
N::Leaf(L { range_low: -2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: -1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(7)), one: Some(nz(8)) },
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];
#[rustfmt::skip]
const TABLE_O: [N; INLINE_TABLE_SIZE] = [
N::Intermediate { zero: Some(nz(16)), one: Some(nz(1)) },
N::Intermediate { zero: Some(nz(14)), one: Some(nz(2)) },
N::Intermediate { zero: Some(nz(12)), one: Some(nz(3)) },
N::Intermediate { zero: Some(nz(10)), one: Some(nz(4)) },
N::Intermediate { zero: Some(nz(8)), one: Some(nz(5)) },
N::Intermediate { zero: Some(nz(6)), one: Some(nz(22)) },
N::Intermediate { zero: Some(nz(7)), one: Some(nz(21)) },
N::Leaf(L { range_low: -24, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(9)), one: Some(nz(20)) },
N::Leaf(L { range_low: -8, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(11)), one: Some(nz(19)) },
N::Leaf(L { range_low: -4, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(13)), one: Some(nz(18)) },
N::Leaf(L { range_low: -2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(15)), one: Some(nz(17)) },
N::Leaf(L { range_low: -1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 0, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 1, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 2, range_length: 0, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 3, range_length: 1, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 5, range_length: 2, is_lower: false, is_out_of_band: false }),
N::Leaf(L { range_low: 9, range_length: 4, is_lower: false, is_out_of_band: false }),
N::Intermediate { zero: Some(nz(23)), one: Some(nz(24)) },
N::Leaf(L { range_low: -25, range_length: 32, is_lower: true, is_out_of_band: false }),
N::Leaf(L { range_low: 25, range_length: 32, is_lower: false, is_out_of_band: false }),
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
N::Empty,
];