pub struct KernelDispatcher { /* private fields */ }Expand description
Global kernel dispatcher that selects best implementation
Implementations§
Source§impl KernelDispatcher
impl KernelDispatcher
Sourcepub fn best_kernel(&self) -> Box<dyn DistanceKernel>
pub fn best_kernel(&self) -> Box<dyn DistanceKernel>
Get the best available kernel
Sourcepub fn kernel_for_level(&self, level: SimdLevel) -> Box<dyn DistanceKernel>
pub fn kernel_for_level(&self, level: SimdLevel) -> Box<dyn DistanceKernel>
Get kernel for specific SIMD level
Sourcepub fn features(&self) -> CpuFeatures
pub fn features(&self) -> CpuFeatures
Get detected features
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
Get description of selected kernel
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KernelDispatcher
impl RefUnwindSafe for KernelDispatcher
impl Send for KernelDispatcher
impl Sync for KernelDispatcher
impl Unpin for KernelDispatcher
impl UnsafeUnpin for KernelDispatcher
impl UnwindSafe for KernelDispatcher
Blanket Implementations§
impl<T> Allocation for T
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> 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