]> gitweb.factorcode.org Git - factor.git/commitdiff
basis, extra: Use zip-index.
authorDoug Coleman <doug.coleman@gmail.com>
Sat, 8 Nov 2014 08:46:30 +0000 (00:46 -0800)
committerDoug Coleman <doug.coleman@gmail.com>
Sat, 8 Nov 2014 08:46:30 +0000 (00:46 -0800)
basis/compiler/cfg/linearization/linearization.factor
basis/compiler/tree/propagation/transforms/transforms.factor
basis/shuffle/shuffle.factor
extra/euler/b-rep/b-rep.factor
extra/gml/core/core.factor
extra/sequences/extras/extras.factor
extra/sorting/extras/extras.factor

index 2c083a5a82dffaca6929b5e68c17051ecc2eb0b9..ee18394498b1837795e713c5ab6e3f60d7c0d7c5 100644 (file)
@@ -87,4 +87,4 @@ SYMBOL: numbers
 : block-number ( bb -- n ) numbers get at ;
 
 : number-blocks ( bbs -- )
-    [ 2array ] map-index >hashtable numbers set ;
+    zip-index >hashtable numbers set ;
index 689ae20202383058f43b71db2911353df0d7c621..a68e2b574fe977a2892ba4f78e437141d0682ca9 100644 (file)
@@ -218,7 +218,7 @@ ERROR: bad-partial-eval quot word ;
 \ index [
     dup sequence? [
         dup length 4 >= [
-            dup length iota zip >hashtable '[ _ at ]
+            zip-index >hashtable '[ _ at ]
         ] [ drop f ] if
     ] [ drop f ] if
 ] 1 define-partial-eval
index 92478812beb565699cb06804d68aeb6d83b9325a..7903924361b906d4a25c77c0dfca8dcdcf6819f0 100644 (file)
@@ -8,7 +8,7 @@ IN: shuffle
 <PRIVATE
 
 : >index-assoc ( sequence -- assoc )
-    dup length iota zip >hashtable ;
+    zip-index >hashtable ;
 
 PRIVATE>
 
index 8ef54c759b8fa146d5c74c8e181d25df35624922..e8d6e0af13f1397ab824218ddba23ad03cfb6056 100644 (file)
@@ -5,7 +5,7 @@ math math.vectors math.matrices assocs arrays hashtables ;
 FROM: namespaces => set ;
 IN: euler.b-rep
 
-: >index-hash ( seq -- hash ) [ 2array ] map-index >hashtable ; inline
+: >index-hash ( seq -- hash ) zip-index >hashtable ; inline
 
 TUPLE: b-edge < edge sharpness macro ;
 
index 9266ba8e3de5f27bc943f5c712cad90fe35c3be8..ef7d5aab39cc85e8c9f2e54ed32801bf6f18150c 100644 (file)
@@ -74,7 +74,7 @@ GML: slice ( array n k -- slice )
 GML:: subarray ( array n k -- slice )
     k n k + array subseq ;
 GML: sort-number-permutation ( array -- permutation )
-    [ 2array ] map-index sort-keys reverse values ;
+    zip-index sort-keys reverse values ;
 
 ! Dictionaries
 ERROR: not-a-dict obj ;
index bf87496965b2896535f3ba25d601652fb5f8016e..9c7d7a557abfe01073abf0a0d5f568bf37bb4d31 100644 (file)
@@ -372,7 +372,7 @@ PRIVATE>
     ] keep ; inline
 
 : arg-sort ( seq -- indices )
-    dup length iota zip sort-keys values ;
+    zip-index sort-keys values ;
 
 : first= ( seq elt -- ? ) [ first ] dip = ; inline
 : second= ( seq elt -- ? ) [ second ] dip = ; inline
index b00e28cea72c3e188b83b851a10ccb13f405c00d..39f45757e8eb8ca6f12b8b2e3b0ff008a701545d 100644 (file)
@@ -3,7 +3,7 @@ math.order sequences sequences.extras sequences.private sorting ;
 IN: sorting.extras
 
 : argsort ( seq quot: ( obj1 obj2 -- <=> ) -- sortedseq )
-    [ dup length iota zip ] dip
+    [ zip-index ] dip
     [ [ first-unsafe ] bi@ ] prepose
     sort [ second-unsafe ] map! ; inline