sets: fix cardinality of sequences, and speed up subset?.
parent
fdf7c91ebc
commit
e2cca82fca
|
@ -60,11 +60,18 @@ M: set diff
|
||||||
M: set intersects?
|
M: set intersects?
|
||||||
small/large sequence/tester any? ;
|
small/large sequence/tester any? ;
|
||||||
|
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
|
: (subset?) ( set1 set2 -- ? )
|
||||||
|
sequence/tester all? ; inline
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
M: set subset?
|
M: set subset?
|
||||||
sequence/tester all? ;
|
2dup [ cardinality ] bi@ > [ 2drop f ] [ (subset?) ] if ;
|
||||||
|
|
||||||
M: set set=
|
M: set set=
|
||||||
2dup [ cardinality ] bi@ eq? [ subset? ] [ 2drop f ] if ;
|
2dup [ cardinality ] bi@ eq? [ (subset?) ] [ 2drop f ] if ;
|
||||||
|
|
||||||
M: set fast-set ;
|
M: set fast-set ;
|
||||||
|
|
||||||
|
@ -107,7 +114,7 @@ M: sequence null?
|
||||||
empty? ; inline
|
empty? ; inline
|
||||||
|
|
||||||
M: sequence cardinality
|
M: sequence cardinality
|
||||||
length ;
|
pruned length ;
|
||||||
|
|
||||||
: combine ( sets -- set )
|
: combine ( sets -- set )
|
||||||
[ f ]
|
[ f ]
|
||||||
|
|
Loading…
Reference in New Issue