From 8d82dc8af8996e0d2a9965c603736a66783c0d8f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Fri, 18 Aug 2006 14:11:03 +0000 Subject: [PATCH] iterative fibonacci --- ir/be/test/fib_iter.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ir/be/test/fib_iter.c 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; +} -- 2.20.1