Fix $or
[factor/jcg.git] / extra / benchmark / fib4 / fib4.factor
blobc988e5722e6c693762f0e3bf648bf13c12fb5215
1 USING: accessors math kernel debugger ;
2 IN: benchmark.fib4
4 TUPLE: box { i read-only } ;
6 C: <box> box
8 : tuple-fib ( m -- n )
9     dup i>> 1 <= [
10         drop 1 <box>
11     ] [
12         i>> 1- <box>
13         dup tuple-fib
14         swap
15         i>> 1- <box>
16         tuple-fib
17         swap i>> swap i>> + <box>
18     ] if ; inline recursive
20 : fib-main ( -- ) T{ box f 34 } tuple-fib i>> 9227465 assert= ;
22 MAIN: fib-main