Az alábbi példák a Cilk manualból származnak.
Fibonacci számítása C és Cilk nyelven. (Bár a kiszámítás ilyen módon nem hatékony, jól mutatja a nyelv használatát.)
#include <stdlib.h>
#include <stdio.h>
int fib (int n)
{
if (n<2) return (n);
else
{
int x, y;
x = fib (n-1);
y = fib (n-2);
return (x+y);
}
}
int main (int argc, char *argv[])
{
int n, result;
n = atoi(argv[1]);
result = fib (n);
printf ("Result: %d\n", result);
return 0;
}
#include <stdlib.h>
#include <stdio.h>
cilk int fib (int n)
{
if (n<2) return n;
else
{
int x, y;
x = spawn fib (n-1);
y = spawn fib (n-2);
sync;
return (x+y);
}
}
cilk int main (int argc, char *argv[])
{
int n, result;
n = atoi(argv[1]);
result = spawn fib(n);
sync;
printf ("Result: %d\n", result);
return 0;
}
Az inlet használata.
cilk int fib (int n)
{
int x = 0;
inlet void summer (int result)
{
x += result;
return;
}
if (n<2) return n;
else
{
summer(spawn fib (n-1));
summer(spawn fib (n-2));
sync;
return (x);
}
}