PrintableHelper
Implicit for custom Printable string interpolator
Attributes
- Source
- package.scala
- Graph
-
- Supertypes
-
class AnyValtrait Matchableclass Any
Members list
Value members
Concrete methods
Custom string interpolator for generating formatted Printables : cf"..."
Custom string interpolator for generating formatted Printables : cf"..."
Enhanced version of scala's f interpolator. Each expression (argument) referenced within the string is converted to a particular Printable depending on the format specifier and type.
==== For Chisel types referenced within the String ====
%n- Returns Name Printable.%N- Returns FullName Printable.%b,%d,%x,%c- Only applicable for types of Bits or derived from it. - returns (Binary,Decimal, Hexadecimal,Character) Printable respectively.- Default - If no specifier given call Data.toPrintable on the Chisel Type.
==== For Printable type: ==== No explicit format specifier supported - just return the Printable.
==== For regular scala types ==== Call String.format with the argument and specifier. Default is %s if no specifier is given. Wrap the result in PString Printable.
==== For the parts of the StringContext ==== Remove format specifiers and if literal percents (need to be escaped with %) are present convert them into Percent Printable. Rest of the string will be wrapped in PString Printable.
Attributes
- Example
-
val w1 = 20.U // Chisel UInt type (which extends Bits) val f1 = 30.2 // Scala float type. val pable = cf"w1 = $w1%x f1 = $f1%2.2f. This is 100%% clear" // the val `pable` is equivalent to the following // Printables(List(PString(w1 = ), Hexadecimal(UInt<5>(20)), PString( f1 = ), PString(30.20), PString(. This is 100), Percent, PString( clear)))throws UnknownFormatConversionException if literal percent not escaped with % or if the format specifier is not supported for the specific type throws StringContext.InvalidEscapeException if a
partsstring contains a backslash (\) character that does not start a valid escape sequence. throws IllegalArgumentException if the number ofpartsin the enclosingStringContextdoes not exceed the number of argumentsargby exactly 1. - Source
- package.scala
Custom string interpolator for generating Printables: p"..." mimicks s"..." for non-Printable data)
Custom string interpolator for generating Printables: p"..." mimicks s"..." for non-Printable data)
Attributes
- Source
- package.scala
Concrete fields
Attributes
- Source
- package.scala