]> gitweb.factorcode.org Git - factor.git/blobdiff - core/math/math.factor
math: reorder the cleaned-up iteration combinators find-integer each-integer
[factor.git] / core / math / math.factor
index 548e628cc716bb14d4fd82fd6a5eaab19ef39aac..c88f274141b506b8bb051b9343ee9b6b43ffdff3 100644 (file)
@@ -255,6 +255,12 @@ GENERIC: prev-float ( m -- n )
         3drop
     ] if ; inline recursive
 
+: each-integer ( ... n quot: ( ... i -- ... ) -- ... )
+    [ 0 ] 2dip each-integer-from ; inline
+
+: times ( ... n quot: ( ... -- ... ) -- ... )
+    [ drop ] prepose each-integer ; inline
+
 : find-integer-from ( ... i n quot: ( ... i -- ... ? ) -- ... i/f )
     2over < [
         [ nip call ] 3keep roll
@@ -264,14 +270,17 @@ GENERIC: prev-float ( m -- n )
         3drop f
     ] if ; inline recursive
 
-: find-last-integer-from ( ... n quot: ( ... i -- ... ? ) -- ... i/f )
+: find-integer ( ... n quot: ( ... i -- ... ? ) -- ... i/f )
+    [ 0 ] 2dip find-integer-from ; inline
+
+: find-last-integer ( ... n quot: ( ... i -- ... ? ) -- ... i/f )
     over 0 < [
         2drop f
     ] [
         [ call ] 2keep rot [
             drop
         ] [
-            [ 1 - ] dip find-last-integer-from
+            [ 1 - ] dip find-last-integer
         ] if
     ] if ; inline recursive
 
@@ -284,14 +293,5 @@ GENERIC: prev-float ( m -- n )
         3drop t
     ] if ; inline recursive
 
-: each-integer ( ... n quot: ( ... i -- ... ) -- ... )
-    [ 0 ] 2dip each-integer-from ; inline
-
-: times ( ... n quot: ( ... -- ... ) -- ... )
-    [ drop ] prepose each-integer ; inline
-
-: find-integer ( ... n quot: ( ... i -- ... ? ) -- ... i/f )
-    [ 0 ] 2dip find-integer-from ; inline
-
 : all-integers? ( ... n quot: ( ... i -- ... ? ) -- ... ? )
     [ 0 ] 2dip all-integers-from? ; inline