aboutsummaryrefslogtreecommitdiffstats
path: root/test/mppa/sort/insertion.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/mppa/sort/insertion.c')
-rw-r--r--test/mppa/sort/insertion.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/test/mppa/sort/insertion.c b/test/mppa/sort/insertion.c
index 2c6065e7..88093b64 100644
--- a/test/mppa/sort/insertion.c
+++ b/test/mppa/sort/insertion.c
@@ -1,25 +1,31 @@
#include "../lib/prng.h"
#include "../lib/types.h"
-void swap(uint64_t *a, uint64_t *b){
+#ifdef __UNIT_TEST_INSERTION__
+#define SIZE 100
+#else
+#include "test.h"
+#endif
+
+void swap_ins(uint64_t *a, uint64_t *b){
uint64_t tmp = *a;
*a = *b;
*b = tmp;
}
-int insert_sort(uint64_t *res, const uint64_t *T, int size){
- if (size <= 0)
+int insert_sort(uint64_t *res, const uint64_t *T){
+ if (SIZE <= 0)
return -1;
- for (int i = 0 ; i < size ; i++)
+ for (int i = 0 ; i < SIZE ; i++)
res[i] = T[i];
- for (int i = 0 ; i < size-1 ; i++){
+ for (int i = 0 ; i < SIZE-1 ; i++){
if (res[i] > res[i+1]){
- swap(&res[i], &res[i+1]);
- for (int j = i ; j > 1 ; j--)
+ swap_ins(&res[i], &res[i+1]);
+ for (int j = i ; j > 0 ; j--)
if (res[j-1] > res[j])
- swap(&res[j-1], &res[j]);
+ swap_ins(&res[j-1], &res[j]);
}
}
@@ -27,8 +33,6 @@ int insert_sort(uint64_t *res, const uint64_t *T, int size){
}
#ifdef __UNIT_TEST_INSERTION__
-#define SIZE 100
-
int main(void){
uint64_t T[SIZE];
uint64_t res[SIZE];
@@ -38,7 +42,7 @@ int main(void){
T[i] = randlong();
/* Sorting the table */
- if (insert_sort(res, T, SIZE) < 0) return -1;
+ if (insert_sort(res, T) < 0) return -1;
/* Computing max(T) */
uint64_t max = T[0];