runs more often for benchmarking
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Wed, 9 Aug 2006 09:00:19 +0000 (09:00 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Wed, 9 Aug 2006 09:00:19 +0000 (09:00 +0000)
ir/be/test/gcd_bench.c [new file with mode: 0644]

diff --git a/ir/be/test/gcd_bench.c b/ir/be/test/gcd_bench.c
new file mode 100644 (file)
index 0000000..a6691fa
--- /dev/null
@@ -0,0 +1,53 @@
+#include <stdio.h>
+#include <limits.h>
+
+int gcd(int a, int b)
+{
+    int i = 0;
+
+    while(a != b)
+    {
+        if(a > b) {
+            a = a - b;
+        }
+        else {
+            b = b - a;
+        }
+        ++i;
+    }
+    return a;
+}
+
+void gcd_no_out(void) {
+  int i, j;
+
+  for (i = 1; i < 10000; i++) {
+    for (j = 1; j < 10000; j++) {
+         gcd(i, j);
+       }
+  }
+}
+
+void gcd_out(void) {
+  int i, j;
+
+  for (i = 1; i < 1000; i++) {
+    for (j = 1; j < 1000; j++) {
+         printf("gcd(%d, %d) = %d\n", i, j, gcd(i, j));
+       }
+  }
+}
+
+int main(int argc)
+{
+  printf("gcd.c\n");
+
+  if (argc > 1) {
+    gcd_no_out();
+  }
+  else {
+    gcd_out();
+  }
+
+  return 0;
+}