]> gitweb.factorcode.org Git - factor.git/commitdiff
game-of-life: more speed in count-neighbors.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 10 Mar 2018 00:58:11 +0000 (16:58 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 10 Mar 2018 00:58:11 +0000 (16:58 -0800)
extra/game-of-life/game-of-life.factor

index ddff0ae43716ce505c46cb4637ad5b2499336e5e..5bf48e11518985b00e1189f5b1f22fbaa809b5af 100644 (file)
@@ -17,7 +17,7 @@ IN: game-of-life
     [ length ] [ first length ] bi ;
 
 :: wraparound ( x min max -- y )
-    x min < [ max ] [ x max > min x ? ] if ; inline
+    x min fixnum< [ max ] [ x max fixnum> min x ? ] if ; inline
 
 :: count-neighbors ( grid -- counts )
     grid grid-dim { fixnum fixnum } declare :> ( rows cols )
@@ -25,7 +25,7 @@ IN: game-of-life
         cols <iota> [| i |
             { -1 0 1 } [
                 { -1 0 1 } [
-                    2dup [ zero? ] both? [ 2drop f ] [
+                    2dup [ 0 eq? ] both? [ 2drop f ] [
                         [ i fixnum+fast 0 cols 1 - wraparound ]
                         [ j fixnum+fast 0 rows 1 - wraparound ] bi*
                         { fixnum fixnum } declare grid