hdl.ast: implement Value.__pos__
.
This commit is contained in:
parent
342fd5f8bd
commit
bef2052c1e
|
@ -166,6 +166,9 @@ class Value(metaclass=ABCMeta):
|
|||
def __bool__(self):
|
||||
raise TypeError("Attempted to convert Amaranth value to Python boolean")
|
||||
|
||||
def __pos__(self):
|
||||
return self
|
||||
|
||||
def __invert__(self):
|
||||
return Operator("~", [self])
|
||||
def __neg__(self):
|
||||
|
|
|
@ -397,6 +397,9 @@ class OperatorTestCase(FHDLTestCase):
|
|||
self.assertEqual(repr(v), "(s (const 4'd1))")
|
||||
self.assertEqual(v.shape(), signed(4))
|
||||
|
||||
def test_pos(self):
|
||||
self.assertRepr(+Const(10), "(const 4'd10)")
|
||||
|
||||
def test_neg(self):
|
||||
v1 = -Const(0, unsigned(4))
|
||||
self.assertEqual(repr(v1), "(- (const 4'd0))")
|
||||
|
|
Loading…
Reference in a new issue