iterative fibonacci
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 18 Aug 2006 14:11:03 +0000 (14:11 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 18 Aug 2006 14:11:03 +0000 (14:11 +0000)
ir/be/test/fib_iter.c [new file with mode: 0644]

diff --git a/ir/be/test/fib_iter.c b/ir/be/test/fib_iter.c
new file mode 100644 (file)
index 0000000..5aa1773
--- /dev/null
@@ -0,0 +1,26 @@
+unsigned long fib_iter(int n) {
+       unsigned long a = 1, b = 1, c, i;
+
+       if (n < 2)
+               return 1;
+
+       for (i = 1; i < n; i++) {
+               c = a + b;
+               a = b;
+               b = c;
+       }
+
+       return c;
+}
+
+int main(int argc, char *argv[]) {
+       int n = 10;
+
+       if (argc > 1) {
+               n = atoi(argv[1]);
+       }
+
+       printf("fib(%d) = %lu\n", n, fib_iter(n));
+
+       return 0;
+}