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
 | 
					{ { } } [ { 1 2 3 } duplicates ] unit-test
 | 
				
			||||||
{ f } [ { 1 2 3 } >hash-set duplicates ] unit-test
 | 
					{ f } [ { 1 2 3 } >hash-set duplicates ] unit-test
 | 
				
			||||||
{ { 1 } } [ { 1 2 1 } 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) 2010 Daniel Ehrenberg
 | 
				
			||||||
! Copyright (C) 2005, 2011 John Benediktsson, Slava Pestov.
 | 
					! Copyright (C) 2005, 2011 John Benediktsson, Slava Pestov.
 | 
				
			||||||
! See http://factorcode.org/license.txt for BSD license.
 | 
					! 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
 | 
					hashtables.private kernel kernel.private math math.private
 | 
				
			||||||
sequences sequences.private sets sets.private slots.private
 | 
					sequences sequences.private sets sets.private slots.private
 | 
				
			||||||
vectors ;
 | 
					vectors ;
 | 
				
			||||||
| 
						 | 
					@ -193,6 +193,12 @@ M: hash-set set=
 | 
				
			||||||
        ] [ 2drop f ] if
 | 
					        ] [ 2drop f ] if
 | 
				
			||||||
    ] [ call-next-method ] if ;
 | 
					    ] [ call-next-method ] if ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					M: hash-set hashcode*
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					        dup cardinality 1 eq?
 | 
				
			||||||
 | 
					        [ members hashcode* ] [ nip cardinality ] if
 | 
				
			||||||
 | 
					    ] recursive-hashcode ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
! Default methods
 | 
					! Default methods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: f fast-set drop 0 <hash-set> ;
 | 
					M: f fast-set drop 0 <hash-set> ;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue