コード例 #1
0
ファイル: PyQuilListener.py プロジェクト: greenstick/pyquil
 def exitClassicalBinary(self, ctx):
     # type: (QuilParser.ClassicalBinaryContext) -> None
     if ctx.AND():
         self.result.append(ClassicalAnd(_addr(ctx.addr(0)), _addr(ctx.addr(1))))
     elif ctx.OR():
         self.result.append(ClassicalOr(_addr(ctx.addr(0)), _addr(ctx.addr(1))))
     elif ctx.MOVE():
         self.result.append(ClassicalMove(_addr(ctx.addr(0)), _addr(ctx.addr(1))))
     elif ctx.EXCHANGE():
         self.result.append(ClassicalExchange(_addr(ctx.addr(0)), _addr(ctx.addr(1))))
コード例 #2
0
ファイル: gates.py プロジェクト: timasq/pyquil
def EXCHANGE(classical_reg1, classical_reg2):
    """
    Produce an EXCHANGE instruction.

    :param classical_reg1: The first classical register, which gets modified.
    :param classical_reg2: The second classical register, which gets modified.
    :return: A ClassicalExchange instance.
    """
    left = unpack_classical_reg(classical_reg1)
    right = unpack_classical_reg(classical_reg2)
    return ClassicalExchange(left, right)
コード例 #3
0
ファイル: parser.py プロジェクト: vishalbelsare/pyquil
 def exchange(self, left, right):
     return ClassicalExchange(left, right)
コード例 #4
0
ファイル: PyQuilListener.py プロジェクト: tsatir/pyquil
 def exitExchange(self, ctx):
     # type: (QuilParser.ExchangeContext) -> None
     self.result.append(
         ClassicalExchange(_addr(ctx.addr(0)), _addr(ctx.addr(1))))