diff options
author | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2011-09-28 15:42:42 +0000 |
---|---|---|
committer | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2011-09-28 15:42:42 +0000 |
commit | f7a4cdd56ffa204b514c3ab1c2b9218ac3679178 (patch) | |
tree | 25fe280821cb4b9ad574ab4f163f92206579d122 /src/library | |
parent | c567ad09224a906ffb60c210a49e8c10c6a55c04 (diff) | |
download | scala-f7a4cdd56ffa204b514c3ab1c2b9218ac3679178.tar.gz scala-f7a4cdd56ffa204b514c3ab1c2b9218ac3679178.tar.bz2 scala-f7a4cdd56ffa204b514c3ab1c2b9218ac3679178.zip |
Fixes #4895.
The size map size computation for parallel hash sets was invalid.
No review.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/collection/mutable/FlatHashTable.scala | 8 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/HashSet.scala | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/library/scala/collection/mutable/FlatHashTable.scala b/src/library/scala/collection/mutable/FlatHashTable.scala index 3118d6aa31..0b8ca66c55 100644 --- a/src/library/scala/collection/mutable/FlatHashTable.scala +++ b/src/library/scala/collection/mutable/FlatHashTable.scala @@ -231,7 +231,7 @@ trait FlatHashTable[A] extends FlatHashTable.HashUtils[A] { else java.util.Arrays.fill(sizemap, 0) } - private[collection] final def totalSizeMapBuckets = if (sizeMapBucketSize < table.length) 1 else table.length / sizeMapBucketSize + private[collection] final def totalSizeMapBuckets = (table.length - 1) / sizeMapBucketSize + 1 protected def calcSizeMapSize(tableLength: Int) = (tableLength >> sizeMapBucketBitSize) + 1 @@ -264,7 +264,11 @@ trait FlatHashTable[A] extends FlatHashTable.HashUtils[A] { } private[collection] def printSizeMap() { - println(sizemap.toList) + println(sizemap.mkString("szmap: [", ", ", "]")) + } + + private[collection] def printContents() { + println(table.mkString("[", ", ", "]")) } protected def sizeMapDisable() = sizemap = null diff --git a/src/library/scala/collection/mutable/HashSet.scala b/src/library/scala/collection/mutable/HashSet.scala index 134558ad15..853becbf43 100644 --- a/src/library/scala/collection/mutable/HashSet.scala +++ b/src/library/scala/collection/mutable/HashSet.scala @@ -55,11 +55,13 @@ extends Set[A] def contains(elem: A): Boolean = containsEntry(elem) def += (elem: A): this.type = { addEntry(elem); this } + def -= (elem: A): this.type = { removeEntry(elem); this } override def par = new ParHashSet(hashTableContents) override def add(elem: A): Boolean = addEntry(elem) + override def remove(elem: A): Boolean = removeEntry(elem).isDefined override def clear() = clearTable() |