]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/fib4/fib4.factor
a6415fb50f2efb19a5476fe466024742be390349
[factor.git] / extra / benchmark / fib4 / fib4.factor
1 USING: math kernel debugger ;
2 IN: benchmark.fib4
3
4 TUPLE: box i ;
5
6 C: <box> box
7
8 : tuple-fib ( m -- n )
9     dup box-i 1 <= [
10         drop 1 <box>
11     ] [
12         box-i 1- <box>
13         dup tuple-fib
14         swap
15         box-i 1- <box>
16         tuple-fib
17         swap box-i swap box-i + <box>
18     ] if ;
19
20 : fib-main T{ box f 34 } tuple-fib T{ box f 9227465 } assert= ;
21
22 MAIN: fib-main