From: Christian Würdig Date: Fri, 18 Aug 2006 14:11:03 +0000 (+0000) Subject: iterative fibonacci X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=8d82dc8af8996e0d2a9965c603736a66783c0d8f;p=libfirm iterative fibonacci --- diff --git a/ir/be/test/fib_iter.c b/ir/be/test/fib_iter.c new file mode 100644 index 000000000..5aa17737c --- /dev/null +++ b/ir/be/test/fib_iter.c @@ -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; +}