aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2012-11-02 12:57:41 +0100
committerJakob Odersky <jodersky@gmail.com>2012-11-02 12:58:46 +0100
commitc40910c72193f64d797e8416b0dfa4fb89688c98 (patch)
treef466168ab9f34bdd13f1de0742167d773974064a
parente8e5b660346c475186a6f0873076c2e7e4ea68e1 (diff)
downloadscalam-c40910c72193f64d797e8416b0dfa4fb89688c98.tar.gz
scalam-c40910c72193f64d797e8416b0dfa4fb89688c98.tar.bz2
scalam-c40910c72193f64d797e8416b0dfa4fb89688c98.zip
rewrite implicit conversions to Saveable (it was unecessarily complicated)
-rw-r--r--src/main/scala/scalam/package.scala17
-rw-r--r--src/main/scala/scalam/plotting/DataSet.scala3
-rw-r--r--src/main/scala/scalam/plotting/Plot.scala3
3 files changed, 12 insertions, 11 deletions
diff --git a/src/main/scala/scalam/package.scala b/src/main/scala/scalam/package.scala
index 7692daf..25b97df 100644
--- a/src/main/scala/scalam/package.scala
+++ b/src/main/scala/scalam/package.scala
@@ -42,17 +42,16 @@ package object scalam extends LowPriorityImplicits {
}
}
- implicit def intDenseIsLoadable = denseMatrixIsLoadable[Int](_.toInt)
- implicit def doubleDenseIsLoadable = denseMatrixIsLoadable[Double](_.toDouble)
- implicit def floatDenseIsLoadable = denseMatrixIsLoadable[Float](_.toFloat)
- implicit def byteDenseIsLoadable = denseMatrixIsLoadable[Byte](_.toByte)
- implicit def longDenseIsLoadable = denseMatrixIsLoadable[Long](_.toLong)
- implicit def booleanDenseIsLoadable = denseMatrixIsLoadable[Boolean](_.toBoolean)
-
- implicit def denseMatrixIsSaveable = (m: DenseMatrix[_]) => new Saveable {
+ implicit def intDenseMatrixIsLoadable = denseMatrixIsLoadable[Int](_.toInt)
+ implicit def doubleDenseMatrixIsLoadable = denseMatrixIsLoadable[Double](_.toDouble)
+ implicit def floatDenseMatrixIsLoadable = denseMatrixIsLoadable[Float](_.toFloat)
+ implicit def byteDenseMatrixIsLoadable = denseMatrixIsLoadable[Byte](_.toByte)
+ implicit def longDenseMatrixIsLoadable = denseMatrixIsLoadable[Long](_.toLong)
+ implicit def booleanDenseMatrixIsLoadable = denseMatrixIsLoadable[Boolean](_.toBoolean)
+
+ implicit def denseMatrixIsSaveable(m: DenseMatrix[_]) = new Saveable {
def save(out: scalax.file.Path) = {
for (i <- 0 until m.rows) m(i, ::).valuesIterator.mkString("", " ", "\n")
}
}
-
} \ No newline at end of file
diff --git a/src/main/scala/scalam/plotting/DataSet.scala b/src/main/scala/scalam/plotting/DataSet.scala
index a886700..5125478 100644
--- a/src/main/scala/scalam/plotting/DataSet.scala
+++ b/src/main/scala/scalam/plotting/DataSet.scala
@@ -4,6 +4,7 @@ import scalam.m.ast.Identifier
import scalax.file.Path
import breeze.linalg.{ Vector, DenseVector }
import scalam.io._
+import scala.language.implicitConversions
case class DataSet(points: Seq[(Double, Double)], label: String, name: String) {
@@ -21,7 +22,7 @@ object DataSet {
def apply(points: Seq[(Double, Double)], label: String) = new DataSet(points, label, Identifier.makeValid(label))
- implicit val dataSetIsSaveable = (ds: DataSet) => new Saveable {
+ implicit def dataSetIsSaveable(ds: DataSet) = new Saveable {
def save(out: scalax.file.Path) = for ((x, y) <- ds.points) yield out.write(x + " " + y + "\n")
}
diff --git a/src/main/scala/scalam/plotting/Plot.scala b/src/main/scala/scalam/plotting/Plot.scala
index 2a50d70..8b4a562 100644
--- a/src/main/scala/scalam/plotting/Plot.scala
+++ b/src/main/scala/scalam/plotting/Plot.scala
@@ -7,6 +7,7 @@ import scalam.plotting.styles._
import scala.collection.mutable.Map
import scala.collection.mutable.ListBuffer
import scalam.io.Saveable
+import scala.language.implicitConversions
class Plot(
val dataSets: Seq[DataSet],
@@ -92,7 +93,7 @@ object Plot {
private[this] var counter = -1
private def next = { counter += 1; counter }
- implicit val plotIsSaveable = (plot: Plot) => new Saveable {
+ implicit def plotIsSaveable(plot: Plot) = new Saveable {
def save(path: scalax.file.Path) = {
val plotFile = (path / PlotFileName)
plotFile.createFile(createParents = true, failIfExists = false)