def __sub__(self, b):
return self._op(sub, b)
def __mul__(self, b):
- return self._op(mul, b)
+ # different case: mul result needs to fit the total bitsize
+ if isinstance(b, int):
+ b = SelectableInt(b, self.bits)
+ print ("SelectableInt mul", hex(self.value), hex(b.value),
+ self.bits, b.bits)
+ return SelectableInt(self.value * b.value, self.bits + b.bits)
def __floordiv__(self, b):
return self._op(floordiv, b)
def __truediv__(self, b):