예제 #1
0
파일: gates.py 프로젝트: timasq/pyquil
def NEG(classical_reg):
    """
    Produce a NEG instruction.

    :param classical_reg: A classical memory address to modify.
    :return: A ClassicalNeg instance.
    """
    return ClassicalNeg(unpack_classical_reg(classical_reg))
예제 #2
0
 def classical_unary(self, op, target):
     if op == "TRUE":
         return ClassicalMove(target, 1)
     elif op == "FALSE":
         return ClassicalMove(target, 0)
     elif op == "NEG":
         return ClassicalNeg(target)
     elif op == "NOT":
         return ClassicalNot(target)
예제 #3
0
파일: parser.py 프로젝트: mazispider/pyquil
 def classical_unary(self, op, target):
     if op == "TRUE":
         return ClassicalTrue(target)
     elif op == "FALSE":
         return ClassicalFalse(target)
     elif op == "NEG":
         return ClassicalNeg(target)
     elif op == "NOT":
         return ClassicalNot(target)
예제 #4
0
 def exitClassicalUnary(self, ctx):
     # type: (QuilParser.ClassicalUnaryContext) -> None
     if ctx.TRUE():
         self.result.append(ClassicalTrue(_addr(ctx.addr())))
     elif ctx.FALSE():
         self.result.append(ClassicalFalse(_addr(ctx.addr())))
     elif ctx.NOT():
         self.result.append(ClassicalNot(_addr(ctx.addr())))
     elif ctx.NEG():
         self.result.append(ClassicalNeg(_addr(ctx.addr())))