pub struct NibbleTables {
pub tables: [[i8; 16]; 8],
pub from_hi: [bool; 8],
}Expand description
The fused table factored per key position into 16-entry nibble tables,
the shape NEON tbl / SSE pshufb consume: one in-register lookup per
key position per 16 packed bytes.
Codes of width 1, 2 or 4 never cross a nibble boundary, so key k of a
byte is a function of exactly one of its nibbles. The factorisation is
verified over all 256 byte values when the Lut is built, so a
Packing the tables cannot represent falls back to the scalar path
instead of silently diverging from it.
Fields§
§tables: [[i8; 16]; 8]Per key position: weights indexed by the source nibble’s value.
from_hi: [bool; 8]Whether key k reads the byte’s high nibble (else the low one).
Trait Implementations§
Source§impl Clone for NibbleTables
impl Clone for NibbleTables
Source§fn clone(&self) -> NibbleTables
fn clone(&self) -> NibbleTables
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NibbleTables
impl Debug for NibbleTables
impl Eq for NibbleTables
Source§impl PartialEq for NibbleTables
impl PartialEq for NibbleTables
impl StructuralPartialEq for NibbleTables
Auto Trait Implementations§
impl Freeze for NibbleTables
impl RefUnwindSafe for NibbleTables
impl Send for NibbleTables
impl Sync for NibbleTables
impl Unpin for NibbleTables
impl UnsafeUnpin for NibbleTables
impl UnwindSafe for NibbleTables
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