Exemple #1
0
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))
Exemple #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)
Exemple #3
0
 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)
Exemple #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())))