§
    ¹³Ùg*  ã                   óF   — d Z ddlmZmZ ddlmZ  G d„ dee¬¦  «        ZdS )zXA quantum oracle constructed from a logical expression or a string in the DIMACS format.é    )ÚABCMetaÚabstractmethod)ÚGatec                   óP   — e Zd ZdZededefd„¦   «         Zed	d„¦   «         Zd„ Z	dS )
ÚClassicalElementzThe classical element gate.Ú	bitstringÚreturnc                 ó   — dS )zçEvaluate the expression on a bitstring.

        This evaluation is done classically.

        Args:
            bitstring: The bitstring for which to evaluate.

        Returns:
            bool: result of the evaluation.
        N© )Úselfr   s     úh/granary/edev/quantum/lib/python3.11/site-packages/qiskit/circuit/classicalfunction/classical_element.pyÚsimulatezClassicalElement.simulate   s	   € ð 	ˆó    TNc                 ó   — dS )a  Synthesis the logic network into a :class:`~qiskit.circuit.QuantumCircuit`.

        Args:
            registerless (bool): Default ``True``. If ``False`` uses the parameter names
                to create registers with those names. Otherwise, creates a circuit with a flat
                quantum register.
            synthesizer (callable): A callable that takes a Logic Network and returns a Tweedledum
                circuit.
        Returns:
            QuantumCircuit: A circuit implementing the logic network.
        Nr   )r   ÚregisterlessÚsynthesizers      r   ÚsynthzClassicalElement.synth%   s	   € ð 	ˆr   c                 ó8   — |                       ¦   «         | _        dS )z9The definition of the boolean expression is its synthesisN)r   Ú
definition)r   s    r   Ú_definezClassicalElement._define4   s   € àŸ*š*™,œ,ˆŒˆˆr   )TN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚboolr   r   r   r   r   r   r   r      su   € € € € € Ø%Ð%àð #ð ¨$ð ð ð ñ „^ðð ðð ð ñ „^ðð'ð 'ð 'ð 'ð 'r   r   )Ú	metaclassN)r   Úabcr   r   Úqiskit.circuitr   r   r   r   r   ú<module>r       ss   ðð _Ð ^à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð ð"'ð "'ð "'ð "'ð "'�t wð "'ñ "'ô "'ð "'ð "'ð "'r   