sequences: slightly faster sequence=.
parent
58e39b5ce5
commit
e00aaf4185
|
@ -615,18 +615,24 @@ PRIVATE>
|
||||||
: harvest ( seq -- newseq )
|
: harvest ( seq -- newseq )
|
||||||
[ empty? not ] filter ;
|
[ empty? not ] filter ;
|
||||||
|
|
||||||
: mismatch ( seq1 seq2 -- i )
|
<PRIVATE
|
||||||
[ min-length ] 2keep
|
|
||||||
|
: mismatch-unsafe ( n seq1 seq2 -- i )
|
||||||
[ 2nth-unsafe = not ] 2curry
|
[ 2nth-unsafe = not ] 2curry
|
||||||
find-integer ; inline
|
find-integer ; inline
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
|
: mismatch ( seq1 seq2 -- i )
|
||||||
|
[ min-length ] 2keep mismatch-unsafe ; inline
|
||||||
|
|
||||||
M: sequence <=>
|
M: sequence <=>
|
||||||
[ mismatch ] 2keep pick
|
[ mismatch ] 2keep pick
|
||||||
[ 2nth-unsafe <=> ] [ [ length ] compare nip ] if ;
|
[ 2nth-unsafe <=> ] [ [ length ] compare nip ] if ;
|
||||||
|
|
||||||
: sequence= ( seq1 seq2 -- ? )
|
: sequence= ( seq1 seq2 -- ? )
|
||||||
2dup [ length ] same?
|
2dup [ length ] bi@ dupd =
|
||||||
[ mismatch not ] [ 2drop f ] if ; inline
|
[ -rot mismatch-unsafe not ] [ 3drop f ] if ; inline
|
||||||
|
|
||||||
ERROR: assert-sequence got expected ;
|
ERROR: assert-sequence got expected ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue