aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scalam/collection/DenseVectorBuilder.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/scalam/collection/DenseVectorBuilder.scala')
-rw-r--r--src/main/scala/scalam/collection/DenseVectorBuilder.scala16
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