aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2012-11-06 11:34:07 +0100
committerJakob Odersky <jodersky@gmail.com>2012-11-06 11:34:07 +0100
commitf4c24ca53b541ad0450d28a8fc9f8d3b44d269df (patch)
tree5bb60f90b272490d20097d476425e4f5ef33040d
parente191078105dcb79793902632c6cd6c4bc012d0e8 (diff)
downloadscalam-f4c24ca53b541ad0450d28a8fc9f8d3b44d269df.tar.gz
scalam-f4c24ca53b541ad0450d28a8fc9f8d3b44d269df.tar.bz2
scalam-f4c24ca53b541ad0450d28a8fc9f8d3b44d269df.zip
fix Saveables saving only last row
-rw-r--r--src/main/scala/scalam/package.scala3
-rw-r--r--src/main/scala/scalam/plotting/DataSet.scala9
2 files changed, 6 insertions, 6 deletions
diff --git a/src/main/scala/scalam/package.scala b/src/main/scala/scalam/package.scala
index 25b97df..25d1a88 100644
--- a/src/main/scala/scalam/package.scala
+++ b/src/main/scala/scalam/package.scala
@@ -51,7 +51,8 @@ package object scalam extends LowPriorityImplicits {
implicit def denseMatrixIsSaveable(m: DenseMatrix[_]) = new Saveable {
def save(out: scalax.file.Path) = {
- for (i <- 0 until m.rows) m(i, ::).valuesIterator.mkString("", " ", "\n")
+ val data = for (i <- 0 until m.rows) yield m(i, ::).valuesIterator.mkString(" ")
+ out.write(data.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 1371d45..70e998d 100644
--- a/src/main/scala/scalam/plotting/DataSet.scala
+++ b/src/main/scala/scalam/plotting/DataSet.scala
@@ -21,11 +21,10 @@ object DataSet {
def apply(xs: Seq[Double], ys: Seq[Double], label: String, name: String) = new DataSet(xs zip ys, label, name)
implicit def dataSetIsSaveable(ds: DataSet) = new Saveable {
- def save(out: scalax.file.Path) = for ((x, y) <- ds.points) yield out.write(x + " " + y + "\n")
- }
-
- implicit def dataSetIsLoadable = new Loadable[DataSet] {
- def load(in: scalax.file.Path) = new DataSet(Seq(), "", "")
+ def save(out: scalax.file.Path) = {
+ val data = ds.points.map{case (x, y) => x + " " + y}.mkString("\n")
+ out.write(data)
+ }
}
}