pub struct FastPair<'a, T: RealNumber + FloatNumber, M: Array2<T>> {
pub distances: HashMap<usize, PairwiseDistance<T>>,
pub neighbours: Vec<usize>,
/* private fields */
}
Expand description
Inspired by Python implementation: https://github.com/carsonfarmer/fastpair/blob/b8b4d3000ab6f795a878936667eee1b557bf353d/fastpair/base.py MIT License (MIT) Copyright (c) 2016 Carson Farmer
affinity used is Euclidean so to allow linkage with single, ward, complete and average
Fields§
§distances: HashMap<usize, PairwiseDistance<T>>
closest pair hashmap (connectivity matrix for closest pairs)
neighbours: Vec<usize>
conga line used to keep track of the closest pair
Implementations§
source§impl<'a, T: RealNumber + FloatNumber, M: Array2<T>> FastPair<'a, T, M>
impl<'a, T: RealNumber + FloatNumber, M: Array2<T>> FastPair<'a, T, M>
sourcepub fn new(m: &'a M) -> Result<Self, Failed>
pub fn new(m: &'a M) -> Result<Self, Failed>
Constructor Instantiate and inizialise the algorithm
sourcepub fn closest_pair(&self) -> PairwiseDistance<T>
pub fn closest_pair(&self) -> PairwiseDistance<T>
Find closest pair by scanning list of nearest neighbors.
Trait Implementations§
source§impl<'a, T: Clone + RealNumber + FloatNumber, M: Clone + Array2<T>> Clone for FastPair<'a, T, M>
impl<'a, T: Clone + RealNumber + FloatNumber, M: Clone + Array2<T>> Clone for FastPair<'a, T, M>
Auto Trait Implementations§
impl<'a, T, M> RefUnwindSafe for FastPair<'a, T, M>where M: RefUnwindSafe, T: RefUnwindSafe,
impl<'a, T, M> Send for FastPair<'a, T, M>where M: Sync, T: Send,
impl<'a, T, M> Sync for FastPair<'a, T, M>where M: Sync, T: Sync,
impl<'a, T, M> Unpin for FastPair<'a, T, M>where T: Unpin,
impl<'a, T, M> UnwindSafe for FastPair<'a, T, M>where M: RefUnwindSafe, T: UnwindSafe,
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