class_docstr: IntegerComparator(value, geq, wires)
  Apply a controlled Pauli X gate using integer comparison as the condition.
  
  Given a basis state :math:`\vert n \rangle`, where :math:`n` is a positive integer, and a fixed positive
  integer :math:`L`, flip a target qubit if :math:`n \geq L`. Alternatively, the flipping condition can
  be :math:`n < L`.
  
  **Details:**
  
  * Number of wires: Any (the operation can act on any number of wires)
  * Number of parameters: 1
  * Gradient recipe: None
  
  .. note::
  
      This operation has one parameter: ``value``. However, ``value`` is simply an integer that is required to define
      the condition upon which a Pauli X gate is applied to the target wire. Given that, IntegerComparator has a
      gradient of zero; ``value`` is a non-differentiable parameter.
  
  Args:
      value (int): The value :math:`L` that the state's decimal representation is compared against.
      geq (bool): If set to ``True``, the comparison made will be :math:`n \geq L`. If ``False``, the comparison
          made will be :math:`n < L`.
      wires (Union[Wires, Sequence[int], or int]): Control wire(s) followed by a single target wire where
          the operation acts on.
  
  **Example**
  
  >>> dev = qml.device("default.qubit", wires=3)
  >>> @qml.qnode(dev)
  ... def circuit(state, value, geq):
  ...     qml.BasisState(np.array(state), wires=range(3))
  ...     qml.IntegerComparator(value, geq=geq, wires=range(3))
  ...     return qml.state()
  >>> circuit([1, 0, 1], 1, True).reshape(2, 2, 2)[1, 0, 0]
  tensor(1.+0.j, requires_grad=True)
  >>> circuit([0, 1, 0], 3, False).reshape(2, 2, 2)[0, 1, 1]
  tensor(1.+0.j, requires_grad=True)
class_docstr_tok: ["IntegerComparator","(","value",",","geq",",","wires",")","Apply","a","controlled","Pauli","X","gate","using","integer","comparison","as","the","condition",".","Given","a","basis","state",":","math",":","`","\\vert","n","\\rangle","`",",","where",":","math",":","`","n","`","is","a","positive","integer",",","and","a","fixed","positive","integer",":","math",":","`","L","`",",","flip","a","target","qubit","if",":","math",":","`","n","\\geq","L","`",".","Alternatively",",","the","flipping","condition","can","be",":","math",":","`","n","<","L","`",".","*","*","Details",":","*","*","*","Number","of","wires",":","Any","(","the","operation","can","act","on","any","number","of","wires",")","*","Number","of","parameters",":","1","*","Gradient","recipe",":","None","..","note",":",":","This","operation","has","one","parameter",":","``","value","``",".","However",",","``","value","``","is","simply","an","integer","that","is","required","to","define","the","condition","upon","which","a","Pauli","X","gate","is","applied","to","the","target","wire",".","Given","that",",","IntegerComparator","has","a","gradient","of","zero",";","``","value","``","is","a","non-differentiable","parameter",".","Args",":","value","(","int",")",":","The","value",":","math",":","`","L","`","that","the","state","'s","decimal","representation","is","compared","against",".","geq","(","bool",")",":","If","set","to","``","True","``",",","the","comparison","made","will","be",":","math",":","`","n","\\geq","L","`",".","If","``","False","``",",","the","comparison","made","will","be",":","math",":","`","n","<","L","`",".","wires","(","Union","[","Wires",",","Sequence","[","int","]",",","or","int","]",")",":","Control","wire","(","s",")","followed","by","a","single","target","wire","where","the","operation","acts","on",".","*","*","Example","*","*",">",">",">","dev","=","qml.device","(","``","default.qubit","''",",","wires=3",")",">",">",">","@","qml.qnode","(","dev",")","...","def","circuit","(","state",",","value",",","geq",")",":","...","qml.BasisState","(","np.array","(","state",")",",","wires=range","(","3",")",")","...","qml.IntegerComparator","(","value",",","geq=geq",",","wires=range","(","3",")",")","...","return","qml.state","(",")",">",">",">","circuit","(","[","1",",","0",",","1","]",",","1",",","True",")",".reshape","(","2",",","2",",","2",")","[","1",",","0",",","0","]","tensor","(","1.+0.j",",","requires_grad=True",")",">",">",">","circuit","(","[","0",",","1",",","0","]",",","3",",","False",")",".reshape","(","2",",","2",",","2",")","[","0",",","1",",","1","]","tensor","(","1.+0.j",",","requires_grad=True",")"]
code: def pow(self, z):
      return super().pow(z % 2)
  
imports: from copy import copy
  import numpy
  import pennylane
  from pennylane.operation import AnyWires, Operation
  from pennylane.wires import Wires
  from pennylane.ops import Identity
  from pennylane.ops.qubit.non_parametric_ops import MultiControlledX
label_desc: Use image node_id 8 for calling the IntegerComparator obj's underlying member method code with example usage: obj.pow(z) and returns: super