summaryrefslogtreecommitdiff
path: root/sortlib.cuh
diff options
context:
space:
mode:
Diffstat (limited to 'sortlib.cuh')
-rw-r--r--sortlib.cuh8
1 files changed, 7 insertions, 1 deletions
diff --git a/sortlib.cuh b/sortlib.cuh
index 6b19d3e..a7d3e2d 100644
--- a/sortlib.cuh
+++ b/sortlib.cuh
@@ -1,6 +1,7 @@
#ifndef LOCKFREE_SORTLIB_CUH
#define LOCKFREE_SORTLIB_CUH
+#include <algorithm>
#include <cassert>
#include <cstdio>
#include <vector>
@@ -182,7 +183,7 @@ public:
__host__ __device__ size_t length() const { return this->LENGTH; }
};
-template <typename T> void rebuild(std::vector<T> original) {
+template <typename T> void rebuild(std::vector<T> &original) {
auto sample_length = original.size();
auto sorter = CustomSort(sample_length, sizeof(T) * 8);
auto tmp = new T[sample_length];
@@ -195,6 +196,11 @@ template <typename T> void rebuild(std::vector<T> original) {
delete[] tmp;
}
+template <typename T> void rebuildSort(std::vector<T> &original) {
+ std::sort(original.begin(), original.end());
+ rebuild(original);
+}
+
__global__ void testCustomCalculation(size_t length) {
CustomSort(length, sizeof(long) * 8).testCalculation();
}