10 ! Five fibonacci implementations, each one slower than the
13 : fast-fixnum-fib ( m -- n )
17 1 fixnum-fast dup fast-fixnum-fib
18 swap 1 fixnum-fast fast-fixnum-fib fixnum+fast
21 [ 9227465 ] [ 34 fast-fixnum-fib ] unit-test
23 : fixnum-fib ( m -- n )
27 1 fixnum- dup fixnum-fib swap 1 fixnum- fixnum-fib fixnum+
30 [ 9227465 ] [ 34 fixnum-fib ] unit-test
33 dup 1 <= [ drop 1 ] [ dup 1 - fib swap 2 - fib + ] if ;
35 [ 9227465 ] [ 34 fib ] unit-test
39 : tuple-fib ( m -- n )
48 swap box-i swap box-i + <box>
51 [ T{ box f 9227465 } ] [ T{ box f 34 } tuple-fib ] unit-test
54 : namespace-fib ( m -- n )
60 n get 1 - namespace-fib
61 n get 2 - namespace-fib
66 [ 1346269 ] [ 30 namespace-fib ] unit-test