Skip to content
Snippets Groups Projects
04-parallelGraphContraction.scala 651 B
Newer Older
Matt Bovel's avatar
Matt Bovel committed
//    PDF: https://moodle.epfl.ch/pluginfile.php/3175938/mod_folder/content/0/week03-4-Scala-Parallel-Collections.pdf
//  Video: https://mediaspace.epfl.ch/playlist/dedicated/31866/0_icv10qux/0_h4jt9i7k
// Slides: 31

import scala.collection.*
import scala.collection.parallel.CollectionConverters.MapIsParallelizable

@main def parallelGraphContraction =
  val graph = mutable.Map[Int, Int]() ++= (0 until 100000).map(i => (i, i + 1))
  graph(graph.size - 1) = 0
  for (k, v) <- graph.par do
    graph(k) = graph(v)
  val violation = graph.find {
    case (i, v) => v != (i + 2) % graph.size
  }
  println(s"violation: $violation")