[−][src]Struct goko::query_tools::MultiscaleQueryHeap
This is used to find the closest k
nodes to the query point, either to get summary statistics out, or
to restrict a Gaussian Mixture Model
Implementations
impl MultiscaleQueryHeap
[src]
pub fn new(k: usize, scale_base: f32) -> MultiscaleQueryHeap
[src]
Creates a new set of heaps, hashmaps, and parameters designed to do multiscale KNN
pub fn pop_closest_unqueried(
&mut self,
scale_index: i32
) -> Option<(f32, NodeAddress)>
[src]
&mut self,
scale_index: i32
) -> Option<(f32, NodeAddress)>
Gives us the closest unqueried node on a particular layer
pub fn unpack(mut self: Self) -> HashMap<i32, Vec<(f32, NodeAddress)>>
[src]
Unpacks this to a digestible format
pub fn furthest_node(&self, scale_index: i32) -> Option<(f32, NodeAddress)>
[src]
returns the node on a layer that is the furthest away. This returns None if the heap isn't full (less than K elements)
pub fn count(&self, si: i32) -> usize
[src]
The count at a layer
Trait Implementations
impl Debug for MultiscaleQueryHeap
[src]
impl RoutingQueryHeap for MultiscaleQueryHeap
[src]
fn push_nodes(
&mut self,
indexes: &[NodeAddress],
dists: &[f32],
_parent_address: Option<NodeAddress>
)
[src]
&mut self,
indexes: &[NodeAddress],
dists: &[f32],
_parent_address: Option<NodeAddress>
)
Shoves data in here.
Auto Trait Implementations
impl RefUnwindSafe for MultiscaleQueryHeap
[src]
impl Send for MultiscaleQueryHeap
[src]
impl Sync for MultiscaleQueryHeap
[src]
impl Unpin for MultiscaleQueryHeap
[src]
impl UnwindSafe for MultiscaleQueryHeap
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> Cast<U> for T where
U: FromCast<T>,
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> From<T> for T
[src]
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub unsafe fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,