Advertisement
NLinker

mapValues optimized out

Jul 1st, 2015
355
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.09 KB | None | 0 0
  1. package com.cassantec.coreengine
  2.  
  3. import scala.collection.{mutable ⇒ mu}
  4.  
  5. /**
  6.  * Created by amozhenin on 30.06.2015.
  7.  */
  8. class SomeTest {
  9.  
  10.   case class T(day: Array[Double])
  11.  
  12.   def processComponent() {
  13.  
  14.     def risks() = {
  15.       val malfunctionRisk = mu.LinkedHashMap[String, T]()
  16.       fillMalfunctionRisk(malfunctionRisk)
  17.       (malfunctionRisk)
  18.     }
  19.  
  20.     val risk = risks()
  21.     enforceMonotonicity(risk)
  22.     val x:T = risk.get("1").get
  23.     for (elem <- x.day) {
  24.       println (elem)
  25.     }
  26.   }
  27.  
  28.  
  29.  
  30.   def fillMalfunctionRisk(malfunctionRisk: mu.Map[String, T]): Unit = {
  31.     //fills risks
  32.     val day:Array[Double] = Array(0.9, 0.8, 0.7, 0.6, 0.5)
  33.     malfunctionRisk.put("1", new T(day))
  34.   }
  35.  
  36.   def enforceMonotonicity(map: mu.LinkedHashMap[String, T]): Unit = {
  37.     val x = map.mapValues { ce: T ⇒
  38.       val day = ce.day
  39.       enforceMonotonicity(day)
  40.     }
  41.     // println(x)
  42.   }
  43.  
  44.   def enforceMonotonicity(row: Array[Double]) = {
  45.     var max = Double.MinValue
  46.     for (j ← row.indices) {
  47.       max = Math.max(row(j), max)
  48.       row(j) = max
  49.     }
  50.  
  51.   }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement