(self, qubits, **options)
Apply this operator to a Qubit subclass.

        Parameters
        ==========

        qubits : Qubit
            The qubit subclass to apply this operator to.

        Returns
        =======

        state : Expr
            The resulting quantum state.
Apply this operator to a Qubit subclass.
Apply this operator to a Qubit subclass .
def _apply_operator_Qubit(self, qubits, **options):
        """Apply this operator to a Qubit subclass.

        Parameters
        ==========

        qubits : Qubit
            The qubit subclass to apply this operator to.

        Returns
        =======

        state : Expr
            The resulting quantum state.
        """
        if qubits.nqubits != self.nqubits:
            raise QuantumError(
                'OracleGate operates on %r qubits, got: %r'
                % (self.nqubits, qubits.nqubits)
            )
        # If function returns 1 on qubits
            # return the negative of the qubits (flip the sign)
        if self.search_function(qubits):
            return -qubits
        else:
            return qubits
def _apply_operator_Qubit ( self , qubits , * * options ) : if qubits . nqubits != self . nqubits : raise QuantumError ( 'OracleGate operates on %r qubits, got: %r' % ( self . nqubits , qubits . nqubits ) ) # If function returns 1 on qubits # return the negative of the qubits (flip the sign) if self . search_function ( qubits ) : return - qubits else : return qubits