hash-sets: need to define M\ hash-set hashcode*.
parent
c9561e4f28
commit
e1e8383322
|
@ -38,3 +38,9 @@ IN: hash-sets.tests
|
|||
{ { } } [ { 1 2 3 } duplicates ] unit-test
|
||||
{ f } [ { 1 2 3 } >hash-set duplicates ] unit-test
|
||||
{ { 1 } } [ { 1 2 1 } duplicates ] unit-test
|
||||
|
||||
{ HS{ HS{ { 2 1 } { 1 2 } } } } [
|
||||
HS{ } clone
|
||||
HS{ { 1 2 } { 2 1 } } over adjoin
|
||||
HS{ { 2 1 } { 1 2 } } over adjoin
|
||||
] unit-test
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2010 Daniel Ehrenberg
|
||||
! Copyright (C) 2005, 2011 John Benediktsson, Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays growable.private hash-sets
|
||||
USING: accessors arrays combinators growable.private hash-sets
|
||||
hashtables.private kernel kernel.private math math.private
|
||||
sequences sequences.private sets sets.private slots.private
|
||||
vectors ;
|
||||
|
@ -193,6 +193,12 @@ M: hash-set set=
|
|||
] [ 2drop f ] if
|
||||
] [ call-next-method ] if ;
|
||||
|
||||
M: hash-set hashcode*
|
||||
[
|
||||
dup cardinality 1 eq?
|
||||
[ members hashcode* ] [ nip cardinality ] if
|
||||
] recursive-hashcode ;
|
||||
|
||||
! Default methods
|
||||
|
||||
M: f fast-set drop 0 <hash-set> ;
|
||||
|
|
Loading…
Reference in New Issue