summaryrefslogtreecommitdiff
path: root/src/main/scala/Chisel/Core.scala
diff options
context:
space:
mode:
authorAndrew Waterman2015-07-28 20:12:55 -0700
committerAndrew Waterman2015-07-28 20:12:55 -0700
commit7bef6454f792be2f2a036d7bb32e541f67279a15 (patch)
treed959928a19dd14e9a33b03cec9914164282f0aaa /src/main/scala/Chisel/Core.scala
parent986590a87bf27961b12875bba15197fc58105a72 (diff)
Avoid needless Vec instantiation
This avoids some cases where cloneType would need to be defined.
Diffstat (limited to 'src/main/scala/Chisel/Core.scala')
-rw-r--r--src/main/scala/Chisel/Core.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main/scala/Chisel/Core.scala b/src/main/scala/Chisel/Core.scala
index 90f6b07a..c28f9f95 100644
--- a/src/main/scala/Chisel/Core.scala
+++ b/src/main/scala/Chisel/Core.scala
@@ -465,16 +465,17 @@ class Vec[T <: Data](elts: Iterable[T], dirArg: Direction = NO_DIR) extends Aggr
private val self = elts.toIndexedSeq
private lazy val elt0 = elts.head
- override def collectElts = {
+ override def collectElts: Unit =
for ((e, i) <- self zipWithIndex)
setIndexForId(cid, e.cid, i)
- }
def <> (that: Iterable[T]): Unit =
- this <> Vec(that).asInstanceOf[Data]
+ for ((a, b) <- this zip that)
+ a <> b
def := (that: Iterable[T]): Unit =
- this := Vec(that).asInstanceOf[Data]
+ for ((a, b) <- this zip that)
+ a := b
override def isFlip = isFlipVar ^ (!elts.isEmpty && elt0.isFlip)