iris-mpc
iris-mpc copied to clipboard
Neighborhood trait + Unsortedneighborhood impl
- adds the
Neighborhoodtrait which captures the HNSW search requirements of the candidate list data structure. - adds the
UnsortedNeighborhoodas an implementer which produces candidates in arbitrary order and uses quick-select to periodically trim its size. - rewrites methods in
HnswSearcherto be generic inN: Neighborhood. - adds dynamic dispatch of
N(for its two concrete impls, Sorted and Unsorted) at certain entry-points (search::searchfor hawk_main andrun_accuracy_analysis.rs). adding more entry-points is doable with minimal effort. - simplifies some existing data structures