assignment -> shallowCopy for efficiency.

This commit is contained in:
Charles Blake
2015-02-13 14:10:09 -05:00
parent 39b98fede3
commit 5068a5aa01
2 changed files with 2 additions and 2 deletions

View File

@@ -276,7 +276,7 @@ proc excl*[A](s: var HashSet[A], key: A) =
if isEmpty(s.data[i].hcode): # end of collision cluster; So all done
return
r = s.data[i].hcode and msk # "home" location of key@i
s.data[j] = s.data[i] # data[j] will be marked EMPTY next loop
shallowCopy(s.data[j], s.data[i]) # data[j] will be marked EMPTY next loop
proc excl*[A](s: var HashSet[A], other: HashSet[A]) =
## Excludes everything in `other` from `s`.

View File

@@ -287,7 +287,7 @@ proc del*[A, B](t: var Table[A, B], key: A) =
if isEmpty(t.data[i].hcode): # end of collision cluster; So all done
return
r = t.data[i].hcode and msk # "home" location of key@i
t.data[j] = t.data[i] # data[j] will be marked EMPTY next loop
shallowCopy(t.data[j], t.data[i]) # data[j] will be marked EMPTY next loop
proc initTable*[A, B](initialSize=64): Table[A, B] =
## creates a new hash table that is empty.