assignment -> shallowCopy for efficiency.

This commit is contained in:
Charles Blake 2015-02-13 14:10:09 -05:00
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 if isEmpty(s.data[i].hcode): # end of collision cluster; So all done
return return
r = s.data[i].hcode and msk # "home" location of key@i 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]) = proc excl*[A](s: var HashSet[A], other: HashSet[A]) =
## Excludes everything in `other` from `s`. ## 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 if isEmpty(t.data[i].hcode): # end of collision cluster; So all done
return return
r = t.data[i].hcode and msk # "home" location of key@i 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] = proc initTable*[A, B](initialSize=64): Table[A, B] =
## creates a new hash table that is empty. ## creates a new hash table that is empty.