diff options
Diffstat (limited to 'src/main/scala/scalam/collection/DenseVectorBuilder.scala')
-rw-r--r-- | src/main/scala/scalam/collection/DenseVectorBuilder.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/scala/scalam/collection/DenseVectorBuilder.scala b/src/main/scala/scalam/collection/DenseVectorBuilder.scala new file mode 100644 index 0000000..84501bd --- /dev/null +++ b/src/main/scala/scalam/collection/DenseVectorBuilder.scala @@ -0,0 +1,16 @@ +package scalam.collection + +import scala.collection.mutable.Builder +import scala.collection.mutable.ArrayBuffer +import breeze.linalg.DenseVector + +class DenseVectorBuilder[Elem: ClassManifest] extends Builder[Elem, DenseVector[Elem]] { + private val buffer = new ArrayBuffer[Elem] + + override def +=(elem: Elem) = {buffer += elem; this} + override def clear() = buffer.clear + override def result() = { + val a = buffer.mapResult(_.toArray).result + DenseVector(a) + } +}
\ No newline at end of file |