From fa54b31195c1ed7650b7a41075778ba3fe8bcb82 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Thu, 1 Nov 2012 22:12:14 +0100 Subject: adapt code to scala 2.10 --- src/main/scala/scalam/LowPriorityImplicits.scala | 6 ++++-- src/main/scala/scalam/collection/DenseVectorOps.scala | 5 +++-- src/main/scala/scalam/collection/WrappedDenseVector.scala | 7 ++++--- src/main/scala/scalam/math/package.scala | 7 ++++++- src/main/scala/scalam/package.scala | 8 +++++--- 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|," -- cgit v1.2.3