private List<IntFloatPair> search(T query, BoundedPriorityQueue<IntFloatPair> queue, List<IntFloatPair> results) { IntFloatPair wp = null; // reset all values in the queue to MAX, -1 for (final IntFloatPair p : results) { p.second = Float.MAX_VALUE; p.first = -1; wp = queue.offerItem(p); } // perform the search final int size = this.pnts.size(); for (int i = 0; i < size; i++) { wp.second = ObjectNearestNeighbours.distanceFunc(distance, query, pnts.get(i)); wp.first = i; wp = queue.offerItem(wp); } return queue.toOrderedListDestructive(); }
private List<IntFloatPair> search(T query, BoundedPriorityQueue<IntFloatPair> queue, List<IntFloatPair> results) { IntFloatPair wp = null; // reset all values in the queue to MAX, -1 for (final IntFloatPair p : results) { p.second = Float.MAX_VALUE; p.first = -1; wp = queue.offerItem(p); } // perform the search final int size = this.pnts.size(); for (int i = 0; i < size; i++) { wp.second = ObjectNearestNeighbours.distanceFunc(distance, query, pnts.get(i)); wp.first = i; wp = queue.offerItem(wp); } return queue.toOrderedListDestructive(); }