]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences.extras: adding find-last-index.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 28 Apr 2015 04:26:34 +0000 (21:26 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 28 Apr 2015 04:26:34 +0000 (21:26 -0700)
extra/sequences/extras/extras.factor

index 600c5cb58140ebe84fe465d7e496c912644666cf..291c576dc60c000867f7237a742dd46c1b21e368 100644 (file)
@@ -427,13 +427,13 @@ PRIVATE>
 
 <PRIVATE
 
-: (map-find-index) ( seq quot find-quot -- result elt index )
+: (map-find-index) ( seq quot find-quot -- result i elt )
     [ [ f ] 2dip [ [ nip ] 2dip call dup ] curry ] dip call
     [ [ [ drop f ] unless ] keep ] dip ; inline
 
 PRIVATE>
 
-: map-find-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result elt index )
+: map-find-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result i elt )
     [ find-index ] (map-find-index) ; inline
 
 : filter-length ( seq n -- seq' ) '[ length _ = ] filter ;
@@ -527,3 +527,9 @@ PRIVATE>
 
 : count* ( ... seq quot: ( ... elt -- ... ? ) -- ... % )
     over [ count ] [ length ] bi* / ; inline
+
+: find-last-index ( ... seq quot: ( ... elt i -- ... ? ) -- ... i elt )
+    [ [ 1 - ] dip find-last-integer ] (find-index) ; inline
+
+: map-find-last-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result i elt )
+    [ find-last-index ] (map-find-index) ; inline