source: proiecte/swift/trunk/test/fibo_serial.c

Last change on this file was 176, checked in by (none), 14 years ago
  • imported repo from "guagal"
File size: 596 bytes
Line 
1/*
2 * swift_context.c
3 *
4 * (c) 2009 Ionut Rosoiu <ionut.rosoiu@gmail.com>
5 *
6 */
7
8#include <stdio.h>
9#include <stdlib.h>
10#include "swift_compiler.h"
11
12int NO_INLINE sum(int r1, int r2)
13{
14        return r1 + r2;
15}
16
17int NO_INLINE fibo(int n)
18{
19        if (n < 2) {
20                return n;
21        } else {
22                int r1, r2;
23
24                r1 = fibo(n-1);
25                r2 = fibo(n-2);
26                return sum(r1, r2);
27        }
28}
29
30int main(int argc, char **argv) {
31        int n, r;
32
33        if (argc != 2) {
34                fprintf(stderr, "usage: %s N\n", argv[0]);
35                abort();
36        }
37
38        n = strtol(argv[1], NULL, 10);
39        r = fibo(n);
40
41        fprintf(stderr, "computed result for fibo(%d)=%d\n", n, r);
42
43        return 0;
44}
Note: See TracBrowser for help on using the repository browser.