From 6ea9939e0610a809f6f47d13ec68df00d1ca0afc Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Fri, 16 Oct 2020 16:55:14 -0400 Subject: Move the DIS benchmarks up a directory and update hardcoded paths Note that this repo does not attempt to keep a copy of the original DIS benchmark distributions. UNC real-time has another repo for that. --- dis/original/Pointer/pointer.c | 159 ----------------------------------------- 1 file changed, 159 deletions(-) delete mode 100644 dis/original/Pointer/pointer.c (limited to 'dis/original/Pointer/pointer.c') diff --git a/dis/original/Pointer/pointer.c b/dis/original/Pointer/pointer.c deleted file mode 100644 index 5671697..0000000 --- a/dis/original/Pointer/pointer.c +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Sample code for the DIS Pointer Stressmark - * - * This source code is the completely correct source code based on - * the example codes provided by Atlantic Aerospace Division, Titan - * Systems Corporation, 2000. - * - * If you just compile and generate the executables from this source - * code, this code would be enough. However, if you wish to get a complete - * understanding of this stressmark, it is strongly suggested that you - * read the Benchmark Analysis and Specifications Document Version 1.0 - * before going on since the detailed comments are given in this documents. - * the comments are not repeated here. - */ -#include -#include -#include -#include -#include "DISstressmarkRNG.h" -#include "extra.h" - -#define MIN_FIELD_SIZE 16 -#define MAX_FIELD_SIZE (16777216*4) // Modifed from original -#define MIN_WINDOW_SIZE 1 -#define MAX_WINDOW_SIZE 15 -#define MIN_HOP_LIMIT 1 - -#define MAX_HOP_LIMIT 4294967295U - -#define MIN_SEED -2147483647 -#define MAX_SEED -1 -#define MIN_THREADS 1 -#define MAX_THREADS 256 - -/* - * main() - */ -int main(int argc, char** argv){ - - unsigned int *field; - unsigned int f; - unsigned short int w; - unsigned int maxhops; - int seed; - unsigned int n; - - clock_t startTime; - - struct threadS{ - unsigned int initial; - unsigned int minStop; - unsigned int maxStop; - unsigned int hops; - }*thread; - - unsigned int l; - SET_UP - - assert(fscanf(stdin, "%lu %u %lu %ld %u", - &f, &l, &maxhops, &seed, &n) == 5); - - assert ((f >= MIN_FIELD_SIZE) && (f <= MAX_FIELD_SIZE)); - w = (unsigned int) l; - assert ((w >= MIN_WINDOW_SIZE) && (w <= MAX_WINDOW_SIZE)); - assert (w % 2 == 1); - assert (f > w); - assert ((maxhops >= MIN_HOP_LIMIT) && (maxhops <= MAX_HOP_LIMIT)); - assert ((seed >= MIN_SEED) && (seed <= MAX_SEED)); - - assert ((n >= MIN_THREADS) && (n <= MAX_THREADS)); - if ((thread = (struct threadS *)malloc(n*sizeof(struct threadS))) == NULL) - return (-1); - - for (l=0; l= 0) && (thread[l].initial < f)); - assert ((thread[l].minStop >= 0) && (thread[l].minStop < f)); - assert ((thread[l].maxStop >= 0) && (thread[l].maxStop < f)); - } - - if ((field = (unsigned int *)malloc(f*sizeof(int))) == NULL) - return (-1); - - randInit(seed); - for (l=0; l= minStop) && - (index < maxStop)))){ - - unsigned int ll, lll; - unsigned int max, min; - unsigned int partition; - unsigned int high; - - partition = field[index]; - max = MAX_FIELD_SIZE; - min = 0; - high = 0; - - for (ll=0; ll max) high++; - else if (x > min){ /* start else* */ - partition = x; - balance = 0; - for (lll=ll+1; lll partition) balance++; - }/* end for loop */ - - if (balance+high == w/2) break; - else if (balance+high > w/2){ - min = partition; - }/* end if */ - else { - max = partition; - high++; - }/* end else */ - } - if (min == max) break; - } /* end else* */ - index = (partition+hops)%(f-w); - hops++; - }/* end loop ll */ - thread[l].hops = hops; - STOP_LOOP -} /* end while */ - - startTime = time(NULL) - startTime; - - for (l=0; l