tools.completion: 5-7% performance improvement.

db4
John Benediktsson 2012-06-19 13:50:50 -07:00
parent b958ad4833
commit 693dd717c4
1 changed files with 7 additions and 7 deletions

View File

@ -12,21 +12,21 @@ IN: tools.completion
: smart-index-from ( obj i seq -- n/f ) : smart-index-from ( obj i seq -- n/f )
rot [ ch>lower ] [ ch>upper ] bi rot [ ch>lower ] [ ch>upper ] bi
[ eq? ] bi-curry@ [ bi or ] 2curry find-from drop ; '[ dup _ eq? [ drop t ] [ _ eq? ] if ] find-from drop ;
PRIVATE> PRIVATE>
:: (fuzzy) ( accum i full ch -- accum i full ? ) :: (fuzzy) ( accum i full ch -- accum i ? )
ch i full smart-index-from [ ch i full smart-index-from [
:> i i accum push [ accum push ]
accum i 1 + full t [ accum swap 1 + t ] bi
] [ ] [
f -1 full f f -1 f
] if* ; ] if* ;
: fuzzy ( full short -- indices ) : fuzzy ( full short -- indices )
dup [ length <vector> 0 ] curry 2dip dup [ length <vector> 0 ] curry 2dip
[ (fuzzy) ] all? 3drop ; [ (fuzzy) ] with all? 2drop ;
: (runs) ( runs n seq -- runs n ) : (runs) ( runs n seq -- runs n )
[ [
@ -38,7 +38,7 @@ PRIVATE>
] each ; ] each ;
: runs ( seq -- newseq ) : runs ( seq -- newseq )
V{ V{ } } [ clone ] map over first rot (runs) drop ; [ V{ } clone 1vector ] dip [ first ] keep (runs) drop ;
: score-1 ( i full -- n ) : score-1 ( i full -- n )
{ {