def func(op1, op2, pin1, pout2, cls): op = op1 * op2 assert_is_instance(op, cls) if not isinstance(op, BlockOperator): return pout = None if isinstance(op, BlockRowOperator) else \ merge_none(pin1, pout2) pin = None if isinstance(op, BlockColumnOperator) else \ merge_none(pin1, pout2) assert pout == op.partitionout assert pin == op.partitionin
def func(op1, op2, p1, p2, cls): op = operation([op1, op2]) assert type(op) is cls if op.partitionin is None: assert op1.partitionin is op2.partitionin is None else: assert op.partitionin == merge_none(p1, p2) if op.partitionout is None: assert op1.partitionout is op2.partitionout is None else: assert op.partitionout == merge_none(p1, p2)