pub struct OptP4DBlock {
pub first_doc_id: u32,
pub last_doc_id: u32,
pub num_docs: u16,
pub doc_bit_width: u8,
pub tf_bit_width: u8,
pub max_tf: u32,
pub max_block_score: f32,
pub doc_deltas: Vec<u8>,
pub doc_exceptions: Vec<(u8, u32)>,
pub term_freqs: Vec<u8>,
pub tf_exceptions: Vec<(u8, u32)>,
}Expand description
A single OptP4D block
Fields§
§first_doc_id: u32First doc_id in this block (absolute)
last_doc_id: u32Last doc_id in this block (absolute)
num_docs: u16Number of documents in this block
doc_bit_width: u8Bit width for delta encoding
tf_bit_width: u8Bit width for term frequencies
max_tf: u32Maximum term frequency in this block
max_block_score: f32Maximum block score for WAND/MaxScore
doc_deltas: Vec<u8>Packed doc deltas
doc_exceptions: Vec<(u8, u32)>Doc delta exceptions: (position, full_delta)
term_freqs: Vec<u8>Packed term frequencies
tf_exceptions: Vec<(u8, u32)>TF exceptions: (position, full_tf)
Implementations§
Source§impl OptP4DBlock
impl OptP4DBlock
Sourcepub fn deserialize<R: Read>(reader: &mut R) -> Result<Self>
pub fn deserialize<R: Read>(reader: &mut R) -> Result<Self>
Deserialize a block
Sourcepub fn decode_doc_ids(&self) -> Vec<u32>
pub fn decode_doc_ids(&self) -> Vec<u32>
Decode doc_ids from this block using SIMD-accelerated delta decoding
Sourcepub fn decode_doc_ids_into(&self, output: &mut [u32]) -> usize
pub fn decode_doc_ids_into(&self, output: &mut [u32]) -> usize
Decode doc_ids into a pre-allocated buffer (avoids allocation)
Sourcepub fn decode_term_freqs(&self) -> Vec<u32>
pub fn decode_term_freqs(&self) -> Vec<u32>
Decode term frequencies from this block using SIMD acceleration
Sourcepub fn decode_term_freqs_into(&self, output: &mut [u32]) -> usize
pub fn decode_term_freqs_into(&self, output: &mut [u32]) -> usize
Decode term frequencies into a pre-allocated buffer (avoids allocation)
Trait Implementations§
Source§impl Clone for OptP4DBlock
impl Clone for OptP4DBlock
Source§fn clone(&self) -> OptP4DBlock
fn clone(&self) -> OptP4DBlock
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OptP4DBlock
impl RefUnwindSafe for OptP4DBlock
impl Send for OptP4DBlock
impl Sync for OptP4DBlock
impl Unpin for OptP4DBlock
impl UnwindSafe for OptP4DBlock
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.