From 632912652668ac3ad8527feb0d465bfd6e1ea6d3 Mon Sep 17 00:00:00 2001 From: David Kaufmann Date: Sat, 26 Nov 2011 01:42:49 +0100 Subject: [PATCH] ATYPE -> numtype, timing --- openmp/merge/sort.c | 18 +++++++++--------- openmp/prefix/prefix.c | 11 +++++++++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/openmp/merge/sort.c b/openmp/merge/sort.c index 88a3b1c..86a0ca0 100644 --- a/openmp/merge/sort.c +++ b/openmp/merge/sort.c @@ -5,19 +5,19 @@ #include #include "numlist.h" -#define ATYPE int +typedef numtype int; -void printlist(char * message, ATYPE * ptr, int len); -int rank(int elem, ATYPE * list, int len); +void printlist(char * message, numtype * ptr, int len); +int rank(int elem, numtype * list, int len); /* merge(a,n,b,m,c): merges a of size n and b of size m into c */ -void merge(int ti, ATYPE * a, int n, ATYPE * b, int m, ATYPE * c); +void merge(int ti, numtype * a, int n, numtype * b, int m, numtype * c); int main ( int argc, char ** argv) { int n = LISTSIZE, m = LISTSIZE; int p = 1; int opt, i; int a_len, b_len, b_len_end, b_len_begin; - ATYPE * c; + numtype * c; double startTime, endTime; while ((opt = getopt(argc, argv, "t:")) != -1) { @@ -34,7 +34,7 @@ int main ( int argc, char ** argv) { //printf ("Maximal number of threads: %i\n", omp_get_max_threads()); //printf ("----------------------------------\n"); - c = (ATYPE *) malloc((LISTSIZE * 2 + 1) * (sizeof (ATYPE))); + c = (numtype *) malloc((LISTSIZE * 2 + 1) * (sizeof (numtype))); c[LISTSIZE*2] = -1; //printlist("0 Sorted List A:", a); @@ -73,7 +73,7 @@ int main ( int argc, char ** argv) { return 0; } -void printlist(char * message, ATYPE * ptr, int len) { +void printlist(char * message, numtype * ptr, int len) { printf (message); while (len > 0) { printf (" %i", *ptr); @@ -82,7 +82,7 @@ void printlist(char * message, ATYPE * ptr, int len) { printf ("\n"); } -int rank(ATYPE elem, ATYPE * list, int len) { +int rank(numtype elem, numtype * list, int len) { int pos; int i = len; @@ -100,7 +100,7 @@ int rank(ATYPE elem, ATYPE * list, int len) { return len; } -void merge(int ti, ATYPE * a, int n, ATYPE * b, int m, int * c) { +void merge(int ti, numtype * a, int n, numtype * b, int m, int * c) { int sum; int i; /*printf ("sorting a:%i (%i) and b:%i (%i)\n", *a, n, *b, m);*/ diff --git a/openmp/prefix/prefix.c b/openmp/prefix/prefix.c index 9a3d60a..9297e71 100644 --- a/openmp/prefix/prefix.c +++ b/openmp/prefix/prefix.c @@ -1,4 +1,5 @@ #include +#include #include "prefix.h" #include "algorithm_1.h" #include "algorithm_2.h" @@ -9,23 +10,33 @@ int main (int argc, char* argv[]) { numtype numarray[5]; int countarray[5]; int i; + double startTime, endTime; for (i = 0; i < 5; i++) { numarray[i] = i; countarray[i] = 0; } + startTime = omp_get_wtime(); printf ("calling algorithm 1:"); result = algorithm_1(numarray, 5, countarray); printf ("sum: %i\n", result); + endTime = omp_get_wtime(); + printf("took %f seconds.\n", endTime-startTime); + startTime = omp_get_wtime(); printf ("calling algorithm 2:"); result = algorithm_2(numarray, 5, countarray); printf ("sum: %i\n", result); + endTime = omp_get_wtime(); + printf("took %f seconds.\n", endTime-startTime); + startTime = omp_get_wtime(); printf ("calling algorithm 3:"); result = algorithm_3(numarray, 5, countarray); printf ("sum: %i\n", result); + endTime = omp_get_wtime(); + printf("took %f seconds.\n", endTime-startTime); return 0; } -- 2.43.0