"""simple docstring"""







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



def       A__    (	lowercase_     :	float = np.pi / 2      , lowercase_     :	float = np.pi / 2      , lowercase_     :	float = np.pi / 2						)  ->							qiskit.result.counts.Counts:
   __lowerCamelCase    		=					QuantumRegister(3      , 'qr'						)  # Define the number of quantum bits
   __lowerCamelCase    		=					ClassicalRegister(1      , 'cr'						)  # Define the number of classical bits

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

   # Build the circuit
   quantum_circuit.u(lowercase_      , lowercase_      , lowercase_      , 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(lowercase_      , lowercase_      , shots=1000						)

   return job.result().get_counts(lowercase_						)


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











def 						_UpperCAmelCase							( snake_case     ):





					"""simple docstring"""

					_lowerCAmelCase         =       str(snake_case     ).strip()
					if not bin_string:
										raise ValueError("""Empty string was passed to the function"""     )
					_lowerCAmelCase         =       bin_string[0] == """-"""
					if is_negative:
										_lowerCAmelCase         =       bin_string[1:]
					if not all(char in """01""" for char in bin_string     ):
										raise ValueError("""Non-binary value was passed to the function"""     )
					_lowerCAmelCase         =       0
					for char in bin_string:
										_lowerCAmelCase         =       2 * decimal_number + int(snake_case     )
					return -decimal_number if is_negative else decimal_number


if __name__ == "__main__":
	from doctest import testmod

	testmod()



