Initial checkin of ary3 "benchmark" from prog lang shootout
authorChris Lattner <sabre@nondot.org>
Tue, 30 Oct 2001 22:17:57 +0000 (22:17 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 30 Oct 2001 22:17:57 +0000 (22:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1051 91177308-0d34-0410-b5e6-96231b3b80d8

test/ary3.c [new file with mode: 0644]

diff --git a/test/ary3.c b/test/ary3.c
new file mode 100644 (file)
index 0000000..3bb99f9
--- /dev/null
@@ -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</a> by Brian W. Kernighan and
+ * Christopher J. Van Wyk.
+ *
+ * I added free() to deallocate memory.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+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);
+}
+