pub struct PqConfig {
pub num_subspaces: usize,
pub num_centroids: usize,
pub dimension: usize,
}Expand description
Configuration parameters for a product quantizer.
Fields§
§num_subspaces: usizeNumber of sub-spaces M.
num_centroids: usizeNumber of centroids per sub-space K (typically 256).
dimension: usizeFull dimensionality of the input vectors.
Implementations§
Source§impl PqConfig
impl PqConfig
Sourcepub fn new(
dimension: usize,
num_subspaces: usize,
num_centroids: usize,
) -> Result<Self, String>
pub fn new( dimension: usize, num_subspaces: usize, num_centroids: usize, ) -> Result<Self, String>
Create a new PqConfig.
Returns an error if dimension is not divisible by num_subspaces,
or if either num_subspaces or num_centroids is zero.
Sourcepub fn subspace_dim(&self) -> usize
pub fn subspace_dim(&self) -> usize
Return the dimensionality of a single sub-space: dimension / num_subspaces.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PqConfig
impl RefUnwindSafe for PqConfig
impl Send for PqConfig
impl Sync for PqConfig
impl Unpin for PqConfig
impl UnsafeUnpin for PqConfig
impl UnwindSafe for PqConfig
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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.