




import numpy as np
import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute




def    lowerCamelCase__			(		A__			:   float = np.pi / 2    ,     A__			:   float = np.pi / 2    ,     A__			:   float = np.pi / 2      ):





       '''simple docstring'''



       __lowerCamelCase  =		QuantumRegister(3    ,     """qr"""      )  # Define the number of quantum bits
       __lowerCamelCase  =		ClassicalRegister(1    ,     """cr"""      )  # Define the number of classical bits

       __lowerCamelCase  =		QuantumCircuit(A__    ,     A__      )  # Define the quantum circuit.

       # Build the circuit
       quantum_circuit.u(A__    ,     A__    ,     A__    ,     0      )  # Quantum State to teleport
       quantum_circuit.h(1      )  # add hadamard gate
       quantum_circuit.cx(
           1    ,     2      )  # add control gate with qubit 1 as control and 2 as target.
       quantum_circuit.cx(0    ,     1      )
       quantum_circuit.h(0      )
       quantum_circuit.cz(0    ,     2      )  # add control z gate.
       quantum_circuit.cx(1    ,     2      )

       quantum_circuit.measure([2]    ,     [0]      )  # measure the qubit.

       # Simulate the circuit using qasm simulator
       __lowerCamelCase  =		Aer.get_backend("""aer_simulator"""      )
       __lowerCamelCase  =		execute(A__    ,     A__    ,     shots=1000      )

       return job.result().get_counts(A__      )


if __name__ == "__main__":
       print(
           'Total count for teleported state is: '
           f"""{quantum_teleportation(np.pi/2, np.pi/2, np.pi/2)}"""
       )







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCAmelCase_   							=      {'configuration_dinat': ['DINAT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'DinatConfig']}


try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase_   							=      [
           'DINAT_PRETRAINED_MODEL_ARCHIVE_LIST',
           'DinatForImageClassification',
           'DinatModel',
           'DinatPreTrainedModel',
           'DinatBackbone',
       ]

if TYPE_CHECKING:
       from .configuration_dinat import DINAT_PRETRAINED_CONFIG_ARCHIVE_MAP, DinatConfig

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_dinat import (
                  DINAT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  DinatBackbone,
                  DinatForImageClassification,
                  DinatModel,
                  DinatPreTrainedModel,
              )

else:
       import sys

       UpperCAmelCase_   							=      _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)

