hash-sets: speed up diff, intersect, and union.
parent
0c16b7cc1a
commit
ca4d5cbde0
|
@ -1,6 +1,6 @@
|
||||||
! Copyright (C) 2010 Daniel Ehrenberg
|
! Copyright (C) 2010 Daniel Ehrenberg
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors assocs hashtables kernel sets
|
USING: accessors assocs hashtables kernel sets sets.private
|
||||||
sequences parser ;
|
sequences parser ;
|
||||||
|
|
||||||
IN: hash-sets
|
IN: hash-sets
|
||||||
|
@ -23,6 +23,9 @@ M: hash-set set-like drop dup hash-set? [ members >hash-set ] unless ;
|
||||||
M: hash-set clone table>> clone hash-set boa ;
|
M: hash-set clone table>> clone hash-set boa ;
|
||||||
M: hash-set null? table>> assoc-empty? ;
|
M: hash-set null? table>> assoc-empty? ;
|
||||||
M: hash-set cardinality table>> assoc-size ;
|
M: hash-set cardinality table>> assoc-size ;
|
||||||
|
M: hash-set intersect small/large sequence/tester filter >hash-set ;
|
||||||
|
M: hash-set union [ members ] bi@ append >hash-set ;
|
||||||
|
M: hash-set diff sequence/tester [ not ] compose filter >hash-set ;
|
||||||
|
|
||||||
M: sequence fast-set >hash-set ;
|
M: sequence fast-set >hash-set ;
|
||||||
M: f fast-set drop H{ } clone hash-set boa ;
|
M: f fast-set drop H{ } clone hash-set boa ;
|
||||||
|
|
Loading…
Reference in New Issue