Struct aho_corasick::packed::teddy::generic::FatMaskBuilder
source · struct FatMaskBuilder {
lo: [u8; 32],
hi: [u8; 32],
}
Expand description
Represents the low and high nybble masks that will be used during “fat” Teddy search.
Each mask is 32 bytes wide, and at the time of writing, only 256-bit vectors support fat Teddy.
A fat Teddy mask is like a slim Teddy mask, except that instead of repeating the bitsets in the high and low 128-bits in 256-bit vectors, the high and low 128-bit halves each represent distinct buckets. (Bringing the total to 16 instead of 8.) This permits spreading the patterns out a bit more and thus putting less pressure on verification to be fast.
Each byte in the mask corresponds to a 8-bit bitset, where bit i
is set
if and only if the corresponding nybble is in the ith bucket. The index of
the byte (0-15, inclusive) corresponds to the nybble.
Fields§
§lo: [u8; 32]
§hi: [u8; 32]
Implementations§
source§impl FatMaskBuilder
impl FatMaskBuilder
sourcefn add(&mut self, bucket: usize, byte: u8)
fn add(&mut self, bucket: usize, byte: u8)
Update this mask by adding the given byte to the given bucket. The given bucket must be in the range 0-15.
§Panics
When bucket >= 16
.
Trait Implementations§
source§impl Clone for FatMaskBuilder
impl Clone for FatMaskBuilder
source§fn clone(&self) -> FatMaskBuilder
fn clone(&self) -> FatMaskBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FatMaskBuilder
impl Debug for FatMaskBuilder
source§impl Default for FatMaskBuilder
impl Default for FatMaskBuilder
source§fn default() -> FatMaskBuilder
fn default() -> FatMaskBuilder
impl Copy for FatMaskBuilder
Auto Trait Implementations§
impl Freeze for FatMaskBuilder
impl RefUnwindSafe for FatMaskBuilder
impl Send for FatMaskBuilder
impl Sync for FatMaskBuilder
impl Unpin for FatMaskBuilder
impl UnwindSafe for FatMaskBuilder
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)