diff options
| author | Douglas Rumbaugh <dbr4@psu.edu> | 2024-04-19 17:38:16 -0400 |
|---|---|---|
| committer | Douglas Rumbaugh <dbr4@psu.edu> | 2024-04-19 17:38:16 -0400 |
| commit | 438feac7e56fee425d9c6f1a43298ff9dc5b71d1 (patch) | |
| tree | 986ea9a630494be1af6bdf8ccb7639b6f3934576 /include/query/wirs.h | |
| parent | 8479f3ce863dfb6d3b20ff4678fa6fe92ee86b52 (diff) | |
| download | dynamic-extension-438feac7e56fee425d9c6f1a43298ff9dc5b71d1.tar.gz | |
Properly implemented support for iteratively decomposable problems
Diffstat (limited to 'include/query/wirs.h')
| -rw-r--r-- | include/query/wirs.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/query/wirs.h b/include/query/wirs.h index ae82194..62b43f6 100644 --- a/include/query/wirs.h +++ b/include/query/wirs.h @@ -219,9 +219,7 @@ public: return result; } - static std::vector<R> merge(std::vector<std::vector<Wrapped<R>>> &results, void *parms) { - std::vector<R> output; - + static std::vector<R> merge(std::vector<std::vector<Wrapped<R>>> &results, void *parms, std::vector<R> &output) { for (size_t i=0; i<results.size(); i++) { for (size_t j=0; j<results[i].size(); j++) { output.emplace_back(results[i][j].rec); @@ -240,5 +238,14 @@ public: auto s = (BufferState<R> *) state; delete s; } + + static bool repeat(void *parms, std::vector<R> &results, std::vector<void*> states, void* buffer_state) { + auto p = (Parms<R> *) parms; + + if (results.size() < p->sample_size) { + return true; + } + return false; + } }; }} |