Reverse order of operations in implies()
[ieee754fpu.git] / src / ieee754 / part / partsig.py
index d710b7ff186620dd60435fa4265bc27b5bd448f1..ab14bf9909fff362e132fab4b676bb228d9fd121 100644 (file)
@@ -68,8 +68,8 @@ class PartitionedSignal:
     # unary ops that require partitioning
 
     def __neg__(self):
-        z = Const(0, len(self.partpoints)+1)
-        result, _ = self.add_op(self, ~0, carry=z)  # TODO, subop
+        z = Const(0, len(self.sig))
+        result, _ = self.sub_op(z, self)
         return result
 
     # binary ops that don't require partitioning
@@ -320,4 +320,4 @@ class PartitionedSignal:
             ``1`` otherwise.
         """
         # amazingly, this should actually work.
-        return ~premise | conclusion
+        return conclusion | ~premise