summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorducky2016-11-16 17:51:56 -0800
committerducky2016-11-21 12:49:33 -0800
commite8aea3f4153b58321784ac33734305207570ef75 (patch)
treeee1a0d87a49903cd4d3a97fce200096452104615 /src
parentfffde2bfbffeacbe9cca68d539b199bd18e30294 (diff)
Move ChiselRange to experimental
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/chisel3/package.scala16
-rw-r--r--src/test/scala/chiselTests/RangeSpec.scala2
2 files changed, 14 insertions, 4 deletions
diff --git a/src/main/scala/chisel3/package.scala b/src/main/scala/chisel3/package.scala
index b49f6dec..29aa6528 100644
--- a/src/main/scala/chisel3/package.scala
+++ b/src/main/scala/chisel3/package.scala
@@ -156,10 +156,6 @@ package object chisel3 { // scalastyle:ignore package.object.name
def F(binaryPoint: Int): FixedPoint = FixedPoint.fromDouble(x, binaryPoint = binaryPoint)
}
- implicit class ChiselRange(val sc: StringContext) extends AnyVal {
- def range(args: Any*): (NumericBound[Int], NumericBound[Int]) = macro chisel3.internal.RangeTransform.apply
- }
-
implicit class fromUIntToBitPatComparable(val x: UInt) extends AnyVal {
final def === (that: BitPat): Bool = macro SourceInfoTransform.thatArg
@deprecated("Use '=/=', which avoids potential precedence problems", "chisel3")
@@ -206,5 +202,17 @@ package object chisel3 { // scalastyle:ignore package.object.name
implicit def fromBigIntToIntParam(x: BigInt): IntParam = IntParam(x)
implicit def fromDoubleToDoubleParam(x: Double): DoubleParam = DoubleParam(x)
implicit def fromStringToStringParam(x: String): StringParam = StringParam(x)
+
+ implicit class ChiselRange(val sc: StringContext) extends AnyVal {
+ /** Specifies a range using mathematical range notation. Variables can be interpolated using
+ * standard string interpolation syntax.
+ * @example {{{
+ * UInt(range"[0, 2)")
+ * UInt(range"[0, $myInt)")
+ * UInt(range"[0, ${myInt + 2})")
+ * }}}
+ */
+ def range(args: Any*): (NumericBound[Int], NumericBound[Int]) = macro chisel3.internal.RangeTransform.apply
+ }
}
}
diff --git a/src/test/scala/chiselTests/RangeSpec.scala b/src/test/scala/chiselTests/RangeSpec.scala
index 60ececbe..e2313f34 100644
--- a/src/test/scala/chiselTests/RangeSpec.scala
+++ b/src/test/scala/chiselTests/RangeSpec.scala
@@ -3,6 +3,8 @@
package chiselTests
import chisel3._
+import chisel3.experimental.ChiselRange
+
import chisel3.internal.firrtl.{Open, Closed}
import org.scalatest.{Matchers, FreeSpec}