diff options
author | Jakob Odersky <jodersky@gmail.com> | 2012-11-01 15:43:51 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2012-11-01 15:48:01 +0100 |
commit | 8d74b4b823b8ed1989e597adf88a12ab1eefe304 (patch) | |
tree | 707143baa6cd48ce743a013e5fb3a05f5ff7c4c2 | |
parent | a61adcf4190a58b2690cdb0bd9d6c0c9888c04a9 (diff) | |
download | scalam-8d74b4b823b8ed1989e597adf88a12ab1eefe304.tar.gz scalam-8d74b4b823b8ed1989e597adf88a12ab1eefe304.tar.bz2 scalam-8d74b4b823b8ed1989e597adf88a12ab1eefe304.zip |
add save support to matrices
-rw-r--r-- | src/main/scala/scalam/package.scala | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/main/scala/scalam/package.scala b/src/main/scala/scalam/package.scala index b8de338..0e57acc 100644 --- a/src/main/scala/scalam/package.scala +++ b/src/main/scala/scalam/package.scala @@ -34,25 +34,23 @@ package object scalam extends LowPriorityImplicits { val separator = "\\s|," val elements: Array[Array[String]] = lines.map(_.split(separator)) require(elements.forall(_.length == elements(0).length), "Cannot load non-rectangular matrix. Check your data file.") - + val linear = elements.transpose.flatten new DenseMatrix(elements.length, linear.map(converter(_))) } } - + 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 val string2Int: (String => Int) = (x: String) => x.toInt - implicit val string2Double: (String => Double) = (x: String) => x.toDouble - implicit val string2Char: (String => Char) = (x: String) => x.toChar*/ - - //implicit val cv = (d: String) => d.toDouble - - //val m = scalam.io.load[DenseMatrix[Double]](scalax.file.Path("")) + + implicit def denseMatrixIsSaveable = (m: DenseMatrix[_]) => new Saveable { + def save(out: scalax.io.Output) = { + for (i <- 0 until m.rows) m(i, ::).valuesIterator.mkString("", " ", "\n") + } + } }
\ No newline at end of file |