A Cilk programozási nyelv

Készítők

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); } }