summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2011-09-28 15:42:42 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2011-09-28 15:42:42 +0000
commitf7a4cdd56ffa204b514c3ab1c2b9218ac3679178 (patch)
tree25fe280821cb4b9ad574ab4f163f92206579d122 /src
parentc567ad09224a906ffb60c210a49e8c10c6a55c04 (diff)
downloadscala-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')
-rw-r--r--src/library/scala/collection/mutable/FlatHashTable.scala8
-rw-r--r--src/library/scala/collection/mutable/HashSet.scala2
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()