Mercurial > repos > rhope
annotate fib.rhope @ 160:f97a7d499182
Optimize _Partition@Pattern using a byte iterator
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 07 Jan 2011 03:18:33 -0500 |
parents | a163250b8885 |
children |
rev | line source |
---|---|
0 | 1 /* |
2 This example program contains a naive implementation of the Fibonacci function | |
3 While this isn't a particular fast way to implement the Fibonacci function it does parallize nicely | |
4 */ | |
5 | |
6 | |
7 //Here we define a worker Fib with one input named 'n' and one output named 'out' | |
8 Fib[n:out] | |
9 { | |
10 //The If worker is one way to conditionally execute a piece of code | |
11 If[[n] < [2]] | |
12 { | |
13 //This line will execute if [n] < [2] evaluates to Yes | |
14 out <- 1 | |
15 }{ | |
16 //This line will execute if [n] < [2] evaluates to No | |
17 //All Worker calls can be expressed in infix, postfix, or prefix notation | |
18 //So [n]-[1] is the same as -[n,1] and [n,1]- | |
19 out <- [Fib[[n]-[1]]] + [Fib[[n]-[2]]] | |
20 } | |
21 } | |
22 | |
23 Main[args] | |
24 { | |
25 //Here we get the first command line argument and convert it to a number | |
86
a163250b8885
Update fib example to reflect language changes
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
26 n <- Int32[[args]Index[1]] |
0 | 27 //Call our Fib worker and Print the result to the terminal |
28 Print[Fib[n]] | |
29 } |