@staticmethod
def _broadcast_2_arguments(qarg0: List, qarg1: List) -> List:
    if (len(qarg0) == len(qarg1)):
        for (arg0, arg1) in zip(qarg0, qarg1):
            (yield ([arg0, arg1], []))
    elif (len(qarg0) == 1):
        for arg1 in qarg1:
            (yield ([qarg0[0], arg1], []))
    elif (len(qarg1) == 1):
        for arg0 in qarg0:
            (yield ([arg0, qarg1[0]], []))
    else:
        raise CircuitError(('Not sure how to combine these two-qubit arguments:\n %s\n %s' % (qarg0, qarg1)))
@staticmethod
def _broadcast_2_arguments(qarg0: List, qarg1: List) -> List:
    if (len(qarg0) == len(qarg1)):
        for (arg0, arg1) in zip(qarg0, qarg1):
            (yield ([arg0, arg1], []))
    elif (len(qarg0) == 1):
        for arg1 in qarg1:
            (yield ([qarg0[0], arg1], []))
    elif (len(qarg1) == 1):
        for arg0 in qarg0:
            (yield ([arg0, qarg1[0]], []))
    else:
        raise CircuitError(('Not sure how to combine these two-qubit arguments:\n %s\n %s' % (qarg0, qarg1)))