]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/benchmark/fib4/fib4.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / extra / benchmark / fib4 / fib4.factor
index 7cf756e11f891bbb16845029f990e4fc2a03ba48..fa49503797be993608ee5981de72145f4dde6009 100644 (file)
@@ -1,22 +1,22 @@
-USING: math kernel debugger ;
+USING: accessors math kernel debugger ;
 IN: benchmark.fib4
 
-TUPLE: box i ;
+TUPLE: box { i read-only } ;
 
 C: <box> box
 
 : tuple-fib ( m -- n )
-    dup box-i 1 <= [
+    dup i>> 1 <= [
         drop 1 <box>
     ] [
-        box-i 1- <box>
+        i>> 1 - <box>
         dup tuple-fib
         swap
-        box-i 1- <box>
+        i>> 1 - <box>
         tuple-fib
-        swap box-i swap box-i + <box>
-    ] if ;
+        swap i>> swap i>> + <box>
+    ] if ; inline recursive
 
-: fib-main ( -- ) T{ box f 34 } tuple-fib T{ box f 9227465 } assert= ;
+: fib-main ( -- ) T{ box f 34 } tuple-fib i>> 9227465 assert= ;
 
 MAIN: fib-main