]> gitweb.factorcode.org Git - factor.git/commitdiff
sets: use push-unsafe in pruned.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 23 Mar 2013 21:46:54 +0000 (14:46 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 23 Mar 2013 21:46:54 +0000 (14:46 -0700)
core/sets/sets.factor

index 8c49b40c158840144da93be526c6314dfe93b0bf..571ad3c6930d78e4e494c049650f7413d7dd2899 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (C) 2010 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: assocs hashtables kernel math sequences vectors ;
+USING: assocs hashtables growable.private kernel math sequences
+vectors ;
 FROM: assocs => change-at ;
 IN: sets
 
@@ -24,6 +25,8 @@ GENERIC: null? ( set -- ? )
 GENERIC: cardinality ( set -- n )
 GENERIC: clear-set ( set -- )
 
+M: f members drop f ;
+
 M: f cardinality drop 0 ;
 
 M: f delete 2drop ;
@@ -97,9 +100,9 @@ M: set all-unique? drop t ;
 
 <PRIVATE
 
-: (pruned) ( elt hash vec -- )
+: (pruned) ( elt set accum -- )
     2over in? [ 3drop ] [
-        [ drop adjoin ] [ nip push ] 3bi
+        [ drop adjoin ] [ nip push-unsafe ] 3bi
     ] if ; inline
 
 : pruned ( seq -- newseq )