pub struct FastScanQuery { /* private fields */ }Implementations§
Source§impl FastScanQuery
impl FastScanQuery
pub fn new(query: &AhQuery) -> Self
pub fn blocks(&self) -> usize
Sourcepub fn packed_block_bytes(&self) -> usize
pub fn packed_block_bytes(&self) -> usize
Bytes of one packed 32-row group under this query’s block count.
Sourcepub fn is_degenerate(&self) -> bool
pub fn is_degenerate(&self) -> bool
True when every AH table was constant (see degenerate).
Sourcepub fn accumulate_block(
&self,
codes: &[u8],
scores: &mut [i32; 32],
) -> ScannResult<()>
pub fn accumulate_block( &self, codes: &[u8], scores: &mut [i32; 32], ) -> ScannResult<()>
Integer lane sums for one packed 32-row group; no float conversion.
Sourcepub fn lane_score(&self, lane: i32, centroid_dot: f32) -> f32
pub fn lane_score(&self, lane: i32, centroid_dot: f32) -> f32
Convert one integer lane sum into the approximate dot product.
Sourcepub fn lane_cutoff(&self, threshold: f32, centroid_dot: f32) -> i32
pub fn lane_cutoff(&self, threshold: f32, centroid_dot: f32) -> i32
Largest integer lane sum that can not beat threshold for a row in a
leaf with centroid_dot. Lanes <= cutoff may be skipped before any
float work; the bound is conservative by one integer step so rounding
in multiplier * inverse_multiplier can never drop a competitive row.
pub fn score_block( &self, codes: &[u8], centroid_dot: f32, ) -> ScannResult<[f32; 32]>
Trait Implementations§
Source§impl Clone for FastScanQuery
impl Clone for FastScanQuery
Source§impl Debug for FastScanQuery
impl Debug for FastScanQuery
Source§impl PartialEq for FastScanQuery
impl PartialEq for FastScanQuery
impl StructuralPartialEq for FastScanQuery
Auto Trait Implementations§
impl Freeze for FastScanQuery
impl RefUnwindSafe for FastScanQuery
impl Send for FastScanQuery
impl Sync for FastScanQuery
impl Unpin for FastScanQuery
impl UnsafeUnpin for FastScanQuery
impl UnwindSafe for FastScanQuery
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more