From 31f624be5ce893c0c21ea2ca029ccbaea907c0f8 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Thu, 21 Jan 2021 09:29:54 +0100 Subject: [PATCH] Reorder Search methods --- src/lib.rs | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9508ccd..8ac16da 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -512,29 +512,6 @@ impl Search { self.nearest.truncate(self.ef); } - /// Resets the state to be ready for a new search - fn reset(&mut self) { - let Search { - visited, - candidates, - nearest, - working, - discarded, - ef: _, - } = self; - - visited.clear(); - candidates.clear(); - nearest.clear(); - working.clear(); - discarded.clear(); - } - - /// Selection of neighbors for insertion (algorithm 3 from the paper) - fn select_simple(&mut self) -> &[Candidate] { - &self.nearest - } - fn select_heuristic( &mut self, layer: &[ZeroNode], @@ -638,6 +615,29 @@ impl Search { self.visited.clear(); self.visited.extend(self.nearest.iter().map(|c| c.pid)); } + + /// Resets the state to be ready for a new search + fn reset(&mut self) { + let Search { + visited, + candidates, + nearest, + working, + discarded, + ef: _, + } = self; + + visited.clear(); + candidates.clear(); + nearest.clear(); + working.clear(); + discarded.clear(); + } + + /// Selection of neighbors for insertion (algorithm 3 from the paper) + fn select_simple(&self) -> &[Candidate] { + &self.nearest + } } impl Default for Search {