From 438feac7e56fee425d9c6f1a43298ff9dc5b71d1 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Fri, 19 Apr 2024 17:38:16 -0400 Subject: Properly implemented support for iteratively decomposable problems --- include/query/knn.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'include/query/knn.h') diff --git a/include/query/knn.h b/include/query/knn.h index 19dcf5c..c856a74 100644 --- a/include/query/knn.h +++ b/include/query/knn.h @@ -114,7 +114,7 @@ public: return results; } - static std::vector merge(std::vector>> &results, void *parms) { + static std::vector merge(std::vector>> &results, void *parms, std::vector &output) { Parms *p = (Parms *) parms; R rec = p->point; size_t k = p->k; @@ -136,7 +136,6 @@ public: } } - std::vector output; while (pq.size() > 0) { output.emplace_back(*pq.peek().data); pq.pop(); @@ -154,6 +153,10 @@ public: auto s = (BufferState *) state; delete s; } + + static bool repeat(void *parms, std::vector &results, std::vector states, void* buffer_state) { + return false; + } }; }} -- cgit v1.2.3 From 5576c5524b48e43e4d6070c28de7c3c66582ed97 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Wed, 1 May 2024 16:05:07 -0400 Subject: Query optimizations --- include/query/knn.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/query/knn.h') diff --git a/include/query/knn.h b/include/query/knn.h index c856a74..a227293 100644 --- a/include/query/knn.h +++ b/include/query/knn.h @@ -111,7 +111,7 @@ public: pq.pop(); } - return results; + return std::move(results); } static std::vector merge(std::vector>> &results, void *parms, std::vector &output) { @@ -141,7 +141,7 @@ public: pq.pop(); } - return output; + return std::move(output); } static void delete_query_state(void *state) { -- cgit v1.2.3