§
    ¹³Ùgð  ã                   ó¦   — d Z ddlZddlmZ ddlmZ ddlmZ  G d„ de¦  «        Z G d	„ d
e¦  «        Z	 G d„ de¦  «        Z
 G d„ de	¦  «        ZdS )z$
Quantum register reference object.
é    N)ÚCircuitErroré   )ÚRegister)ÚBitc                   ó(   ‡ — e Zd ZdZdZdˆ fd„	Zˆ xZS )ÚQubitzImplement a quantum bit.© Nc                 óÄ   •— |�t          |t          ¦  «        r$t          ¦   «                              ||¦  «         dS t	          dt          |¦  «        j        › d�¦  «        ‚)aA  Creates a qubit.

        Args:
            register (QuantumRegister): Optional. A quantum register containing the bit.
            index (int): Optional. The index of the bit in its containing register.

        Raises:
            CircuitError: if the provided register is not a valid :class:`QuantumRegister`
        Nz"Qubit needs a QuantumRegister and z was provided)Ú
isinstanceÚQuantumRegisterÚsuperÚ__init__r   ÚtypeÚ__name__)ÚselfÚregisterÚindexÚ	__class__s      €úT/granary/edev/quantum/lib/python3.11/site-packages/qiskit/circuit/quantumregister.pyr   zQubit.__init__   sc   ø€ ð Ð�z¨(µOÑDÔDÐÝ‰GŒG×Ò˜X uÑ-Ô-Ð-Ð-Ð-åØ[µT¸(±^´^Ô5LÐ[Ð[Ð[ñô ð ó    )NN)r   Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   Ú__classcell__)r   s   @r   r   r      sH   ø€ € € € € Ø"Ð"à€Iðð ð ð ð ð ð ð ð ð r   r   c                   ó8   — e Zd ZdZ ej        ¦   «         ZdZeZ	dS )r   zImplement a quantum register.ÚqN)
r   r   r   r   Ú	itertoolsÚcountÚinstances_counterÚprefixr   Úbit_typer	   r   r   r   r   2   s0   € € € € € Ø'Ð'ð (˜	œÑ)Ô)Ðà€FØ€H€H€Hr   r   c                   ó   — e Zd ZdZdZdS )ÚAncillaQubitz A qubit used as ancillary qubit.r	   N)r   r   r   r   r   r	   r   r   r$   r$   <   s   € € € € € Ø*Ð*à€Ià€Dr   r$   c                   ó8   — e Zd ZdZ ej        ¦   «         ZdZeZ	dS )ÚAncillaRegisterzImplement an ancilla register.ÚaN)
r   r   r   r   r   r   r    r!   r$   r"   r	   r   r   r&   r&   D   s0   € € € € € Ø(Ð(ð (˜	œÑ)Ô)Ðà€FØ€H€H€Hr   r&   )r   r   Úqiskit.circuit.exceptionsr   r   r   Úbitr   r   r   r$   r&   r	   r   r   ú<module>r*      s  ððð ð Ð Ð Ð à 2Ð 2Ð 2Ð 2Ð 2Ð 2à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ˆCñ ô ð ð0ð ð ð ð �hñ ô ð ð	ð 	ð 	ð 	ð 	�5ñ 	ô 	ð 	ðð ð ð ð �oñ ô ð ð ð r   