operator << method

Logic operator <<(
  1. dynamic other
)

Logical left-shift.

The lower bits are 0-filled.

If isNet and other is constant, then the result will also be a net.

Implementation

Logic operator <<(dynamic other) {
  if (isNet) {
    // many SV simulators don't support shifting of nets, so default this
    final shamt = _constShiftAmount(other);
    if (shamt != null) {
      return [
        getRange(0, -shamt),
        Const(0, width: shamt),
      ].swizzle();
    }
  }

  return LShift(this, other).out;
}