'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.'

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 self.search_function(qubits):
        return (- qubits)
    else:
        return qubits
