From db351718d0ed151efadbe181e03c605ca869ed33 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 30 Oct 2001 22:17:57 +0000 Subject: [PATCH] Initial checkin of ary3 "benchmark" from prog lang shootout git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1051 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/ary3.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 test/ary3.c diff --git a/test/ary3.c b/test/ary3.c new file mode 100644 index 00000000000..3bb99f9362d --- /dev/null +++ b/test/ary3.c @@ -0,0 +1,41 @@ +/* -*- mode: c -*- + * $Id$ + * http://www.bagley.org/~doug/shootout/ + * + * this program is modified from: + * http://cm.bell-labs.com/cm/cs/who/bwk/interps/pap.html + * Timing Trials, or, the Trials of Timing: Experiments with Scripting + * and User-Interface Languages by Brian W. Kernighan and + * Christopher J. Van Wyk. + * + * I added free() to deallocate memory. + */ + +#include +#include + +int +main(int argc, char *argv[]) { + int n = ((argc == 2) ? atoi(argv[1]) : 1); + int i, k, *x, *y; + + x = (int *) calloc(n, sizeof(int)); + y = (int *) calloc(n, sizeof(int)); + + for (i = 0; i < n; i++) { + x[i] = i + 1; + } + for (k=0; k<1000; k++) { + for (i = n-1; i >= 0; i--) { + y[i] += x[i]; + } + } + + printf("%d %d\n", y[0], y[n-1]); + + free(x); + free(y); + + return(0); +} +