diff options
author | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-10-20 20:20:00 +0000 |
---|---|---|
committer | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-10-20 20:20:00 +0000 |
commit | e7ca142b45255f6b41582c25fe590a664d5fc8b9 (patch) | |
tree | a674b7cc69ad247330d444f4011a55d6a7ce61e2 /test/files/scalacheck/parallel-collections/ParallelHashMapCheck.scala | |
parent | d3d218e5ea77584489437f0dfa8148ee3764d6f7 (diff) | |
download | scala-e7ca142b45255f6b41582c25fe590a664d5fc8b9.tar.gz scala-e7ca142b45255f6b41582c25fe590a664d5fc8b9.tar.bz2 scala-e7ca142b45255f6b41582c25fe590a664d5fc8b9.zip |
Some exception handling fixes in parallel colle...
Some exception handling fixes in parallel collections. Fixed some
regressions. Fixed some tests.
No review.
Diffstat (limited to 'test/files/scalacheck/parallel-collections/ParallelHashMapCheck.scala')
-rw-r--r-- | test/files/scalacheck/parallel-collections/ParallelHashMapCheck.scala | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/test/files/scalacheck/parallel-collections/ParallelHashMapCheck.scala b/test/files/scalacheck/parallel-collections/ParallelHashMapCheck.scala new file mode 100644 index 0000000000..1224ec8d4d --- /dev/null +++ b/test/files/scalacheck/parallel-collections/ParallelHashMapCheck.scala @@ -0,0 +1,66 @@ +package scala.collection.parallel +package immutable + + + +import org.scalacheck._ +import org.scalacheck.Gen +import org.scalacheck.Gen._ +import org.scalacheck.Prop._ +import org.scalacheck.Properties +import org.scalacheck.Arbitrary._ + +import scala.collection._ +import scala.collection.parallel.ops._ + + +abstract class ParallelHashMapCheck[K, V](tp: String) extends ParallelIterableCheck[(K, V)]("immutable.ParHashMap[" + tp + "]") { + ForkJoinTasks.defaultForkJoinPool.setMaximumPoolSize(Runtime.getRuntime.availableProcessors * 2) + ForkJoinTasks.defaultForkJoinPool.setParallelism(Runtime.getRuntime.availableProcessors * 2) + + type CollType = ParHashMap[K, V] + + def isCheckingViews = false + + def instances(vals: Seq[Gen[(K, V)]]): Gen[Iterable[(K, V)]] = sized { sz => + var hm = new immutable.HashMap[K, V] + val gen = vals(rnd.nextInt(vals.size)) + for (i <- 0 until sz) hm += sample(gen) + hm + } + + def fromTraversable(t: Traversable[(K, V)]) = { + var phm = new ParHashMap[K, V] + var i = 0 + for (kv <- t.toList) { + phm += kv + i += 1 + } + phm + } + +} + + +object IntIntParallelHashMapCheck extends ParallelHashMapCheck[Int, Int]("Int, Int") +with PairOperators[Int, Int] +with PairValues[Int, Int] +{ + def intvalues = new IntValues {} + def kvalues = intvalues.values + def vvalues = intvalues.values + + val intoperators = new IntOperators {} + def voperators = intoperators + def koperators = intoperators +} + + + + + + + + + + |