Convert all bitwise logical ops to return PartitionedSignal
[ieee754fpu.git] / src / ieee754 / part / partsig.py
index 24fd80d4cb7985588a134a8789a1b2add2d480dd..5d96a27a7a22201c9b525577c08b1c7752793f2d 100644 (file)
@@ -34,7 +34,12 @@ def getsig(op1):
 
 
 def applyop(op1, op2, op):
-    return op(getsig(op1), getsig(op2))
+    if isinstance(op1, PartitionedSignal):
+        result = PartitionedSignal.like(op1)
+    else:
+        result = PartitionedSignal.like(op2)
+    result.m.d.comb += result.sig.eq(op(getsig(op1), getsig(op2)))
+    return result
 
 
 class PartitionedSignal: