aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2012-11-01 22:12:14 +0100
committerJakob Odersky <jodersky@gmail.com>2012-11-01 22:12:14 +0100
commitfa54b31195c1ed7650b7a41075778ba3fe8bcb82 (patch)
tree3f6aa790f7c11a47b4fc6a63ab92942bb532172d
parent1bcf6e19885aa21975647aa6692f9829b8512f09 (diff)
downloadscalam-fa54b31195c1ed7650b7a41075778ba3fe8bcb82.tar.gz
scalam-fa54b31195c1ed7650b7a41075778ba3fe8bcb82.tar.bz2
scalam-fa54b31195c1ed7650b7a41075778ba3fe8bcb82.zip
adapt code to scala 2.10
-rw-r--r--src/main/scala/scalam/LowPriorityImplicits.scala6
-rw-r--r--src/main/scala/scalam/collection/DenseVectorOps.scala5
-rw-r--r--src/main/scala/scalam/collection/WrappedDenseVector.scala7
-rw-r--r--src/main/scala/scalam/math/package.scala7
-rw-r--r--src/main/scala/scalam/package.scala8
5 files changed, 22 insertions, 11 deletions
diff --git a/src/main/scala/scalam/LowPriorityImplicits.scala b/src/main/scala/scalam/LowPriorityImplicits.scala
index 6014053..81ee480 100644
--- a/src/main/scala/scalam/LowPriorityImplicits.scala
+++ b/src/main/scala/scalam/LowPriorityImplicits.scala
@@ -2,6 +2,8 @@ package scalam
import breeze.linalg.DenseVector
import scalam.collection._
+import scala.reflect.ClassTag
+import scala.language.implicitConversions
/** Defines implicit conversions with a lower priority than those found in [[scalam]]'s package object.*/
trait LowPriorityImplicits {
@@ -10,12 +12,12 @@ trait LowPriorityImplicits {
* Wraps the given dense vector to a sequence.
* @see scalam.collection.WrappedDenseVector
*/
- implicit def wrapDenseVector[A: ClassManifest](v: DenseVector[A]) = new WrappedDenseVector(v)
+ implicit def wrapDenseVector[A: ClassTag](v: DenseVector[A]) = new WrappedDenseVector(v)
/**
* Unwraps the given wrapped dense vector to a normal dense vector.
* @see scalam.collection.WrappedDenseVector
*/
- implicit def unwrapDenseVector[A: ClassManifest](w: WrappedDenseVector[A]) = w.self
+ implicit def unwrapDenseVector[A: ClassTag](w: WrappedDenseVector[A]) = w.self
} \ No newline at end of file
diff --git a/src/main/scala/scalam/collection/DenseVectorOps.scala b/src/main/scala/scalam/collection/DenseVectorOps.scala
index ace37a3..6d2065f 100644
--- a/src/main/scala/scalam/collection/DenseVectorOps.scala
+++ b/src/main/scala/scalam/collection/DenseVectorOps.scala
@@ -4,6 +4,7 @@ import breeze.linalg.DenseVector
import scala.collection.mutable.ArrayBuffer
import scala.collection.generic.CanBuildFrom
import scala.collection.mutable.Builder
+import scala.reflect.ClassTag
/**
* This class serves as a wrapper for `breeze.linalg.DenseVector`s with all the operations found in
@@ -24,7 +25,7 @@ import scala.collection.mutable.Builder
* @define mayNotTerminateInf
* @define willNotTerminateInf
*/
-class DenseVectorOps[Elem: ClassManifest](override val repr: DenseVector[Elem]) extends DenseVectorLike[Elem, DenseVector[Elem]] {
+class DenseVectorOps[Elem: ClassTag](override val repr: DenseVector[Elem]) extends DenseVectorLike[Elem, DenseVector[Elem]] {
val self = repr
def newBuilder = DenseVectorOps.newBuilder[Elem]
@@ -37,5 +38,5 @@ class DenseVectorOps[Elem: ClassManifest](override val repr: DenseVector[Elem])
* A companion object for DenseVectorsOps.
*/
object DenseVectorOps {
- def newBuilder[Elem: ClassManifest] = new ArrayBuffer[Elem] mapResult (x => new DenseVector(x.toArray))
+ def newBuilder[Elem: ClassTag] = new ArrayBuffer[Elem] mapResult (x => new DenseVector(x.toArray))
}
diff --git a/src/main/scala/scalam/collection/WrappedDenseVector.scala b/src/main/scala/scalam/collection/WrappedDenseVector.scala
index 0e49c07..4f7a941 100644
--- a/src/main/scala/scalam/collection/WrappedDenseVector.scala
+++ b/src/main/scala/scalam/collection/WrappedDenseVector.scala
@@ -5,6 +5,7 @@ import breeze.linalg.DenseVector
import scala.collection.mutable.Builder
import scala.collection.generic.CanBuildFrom
import scala.collection.mutable.ArrayBuffer
+import scala.reflect.ClassTag
/**
* This class serves as a wrapper augmenting `breeze.linalg.DenseVector`s with all the operations
@@ -23,7 +24,7 @@ import scala.collection.mutable.ArrayBuffer
* @define Coll `DenseVector`
* @define coll dense vector
*/
-class WrappedDenseVector[Elem: ClassManifest](val self: DenseVector[Elem]) extends IndexedSeq[Elem] with DenseVectorLike[Elem, WrappedDenseVector[Elem]] {
+class WrappedDenseVector[Elem: ClassTag](val self: DenseVector[Elem]) extends IndexedSeq[Elem] with DenseVectorLike[Elem, WrappedDenseVector[Elem]] {
override protected[this] def newBuilder: Builder[Elem, WrappedDenseVector[Elem]] = WrappedDenseVector.newBuilder[Elem]
}
@@ -31,9 +32,9 @@ class WrappedDenseVector[Elem: ClassManifest](val self: DenseVector[Elem]) exten
* A companion object for wrapped dense vectors.
*/
object WrappedDenseVector {
- def newBuilder[Elem: ClassManifest] = (new ArrayBuffer[Elem]) mapResult (x => new WrappedDenseVector(DenseVector(x.toArray)))
+ def newBuilder[Elem: ClassTag] = (new ArrayBuffer[Elem]) mapResult (x => new WrappedDenseVector(DenseVector(x.toArray)))
- implicit def canBuildFrom[T: ClassManifest] = new CanBuildFrom[WrappedDenseVector[_], T, WrappedDenseVector[T]] {
+ implicit def canBuildFrom[T: ClassTag] = new CanBuildFrom[WrappedDenseVector[_], T, WrappedDenseVector[T]] {
def apply(from: WrappedDenseVector[_]): Builder[T, WrappedDenseVector[T]] = newBuilder[T]
def apply: Builder[T, WrappedDenseVector[T]] = newBuilder[T]
}
diff --git a/src/main/scala/scalam/math/package.scala b/src/main/scala/scalam/math/package.scala
index 44d324f..fcc4c14 100644
--- a/src/main/scala/scalam/math/package.scala
+++ b/src/main/scala/scalam/math/package.scala
@@ -1,6 +1,7 @@
package scalam
import scala.collection.generic.CanBuildFrom
+import scala.language.higherKinds
/** Contains useful math functions. */
package object math {
@@ -32,4 +33,8 @@ package object math {
}
}
-} \ No newline at end of file
+}
+
+package math{
+ object Dummy
+}
diff --git a/src/main/scala/scalam/package.scala b/src/main/scala/scalam/package.scala
index c10a270..7692daf 100644
--- a/src/main/scala/scalam/package.scala
+++ b/src/main/scala/scalam/package.scala
@@ -3,7 +3,9 @@ import breeze.linalg.DenseMatrix
import scalam.collection._
import scala.collection.generic.CanBuildFrom
import scala.collection.mutable.Builder
+import scala.reflect.ClassTag
import scalam.io.{ Loadable, Saveable }
+import scala.language.implicitConversions
/**
* A number of commonly applied implicit conversions are defined here, and
@@ -17,18 +19,18 @@ package object scalam extends LowPriorityImplicits {
* Augments a given dense vector to a DenseVectorOps object, thereby providing it with all the methods found in sequences.
* @see scalam.collection.DenseVectorOps
*/
- implicit def denseVector2Ops[A: ClassManifest](v: DenseVector[A]) = new DenseVectorOps(v)
+ implicit def denseVector2Ops[A: ClassTag](v: DenseVector[A]) = new DenseVectorOps(v)
/**
* Enables new dense vectors to be built from existing dense vectors. This implicit is used by [[scalam.collection.DenseVectorOps]].
*/
- implicit def denseVectorCanBuildFrom[A: ClassManifest]: CanBuildFrom[DenseVector[_], A, DenseVector[A]] =
+ implicit def denseVectorCanBuildFrom[A: ClassTag]: CanBuildFrom[DenseVector[_], A, DenseVector[A]] =
new CanBuildFrom[DenseVector[_], A, DenseVector[A]] {
def apply(from: DenseVector[_]): Builder[A, DenseVector[A]] = apply()
def apply(): Builder[A, DenseVector[A]] = collection.DenseVectorOps.newBuilder[A]
}
- def denseMatrixIsLoadable[A: ClassManifest](converter: String => A): Loadable[DenseMatrix[A]] = new Loadable[DenseMatrix[A]] {
+ def denseMatrixIsLoadable[A: ClassTag](converter: String => A): Loadable[DenseMatrix[A]] = new Loadable[DenseMatrix[A]] {
def load(in: scalax.file.Path) = {
val lines: Array[String] = in.lines().dropWhile(_.isEmpty).toArray
val separator = "\\s|,"