'''simple docstring'''




import math

import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute

def 			UpperCamelCase_							(      _UpperCAmelCase						:   int = 1    ,			_UpperCAmelCase						:   int = 1					)					->					qiskit.result.counts.Counts:


       """simple docstring"""







       if isinstance(_UpperCAmelCase    ,			_UpperCAmelCase					) or isinstance(_UpperCAmelCase    ,			_UpperCAmelCase					):
              raise TypeError("inputs must be integers."					)
       if (bit_a < 0) or (bit_a < 0):
              raise ValueError("inputs must be positive."					)
       if (math.floor(_UpperCAmelCase					) != bit_a) or (math.floor(_UpperCAmelCase					) != bit_a):
              raise ValueError("inputs must be exact integers."					)
       if (bit_a > 1) or (bit_a > 1):
              raise ValueError("inputs must be less or equal to 1."					)

       # build registers
       _UpperCAmelCase  :						List[str]							   =					QuantumRegister(2    ,			"qr"					)
       _UpperCAmelCase  :						Any							   =					ClassicalRegister(2    ,			"cr"					)

       _UpperCAmelCase  :						Any							   =					QuantumCircuit(_UpperCAmelCase    ,			_UpperCAmelCase					)

       # entanglement the qubits
       quantum_circuit.h(1					)
       quantum_circuit.cx(1    ,			0					)

       # send the information
       _UpperCAmelCase  :						List[Any]							   =					str(_UpperCAmelCase					) + str(_UpperCAmelCase					)

       if c_information == "11":
              quantum_circuit.x(1					)
              quantum_circuit.z(1					)
       elif c_information == "10":
              quantum_circuit.z(1					)
       elif c_information == "01":
              quantum_circuit.x(1					)
       else:
              quantum_circuit.i(1					)

       # unentangled the circuit
       quantum_circuit.cx(1    ,			0					)
       quantum_circuit.h(1					)

       # measure the circuit
       quantum_circuit.measure(_UpperCAmelCase    ,			_UpperCAmelCase					)

       _UpperCAmelCase  :						Dict							   =					Aer.get_backend("aer_simulator"					)
       _UpperCAmelCase  :						List[Any]							   =					execute(_UpperCAmelCase    ,			_UpperCAmelCase    ,			shots=1_000					)

       return job.result().get_counts(_UpperCAmelCase					)


if __name__ == "__main__":
  print(F'Counts for classical state send: {superdense_coding(1,1)}')


'''simple docstring'''




import pytest

from datasets.utils.version import Version

@pytest.mark.parametrize(
    "other, expected_equality"    ,			[
        (Version("1.0.0"					), True),
        ("1.0.0", True),
        (Version("2.0.0"					), False),
        ("2.0.0", False),
        ("1", False),
        ("a", False),
        (1, False),
        (None, False),
    ]    ,			)
def 			UpperCamelCase_							(      _UpperCAmelCase						:   Tuple    ,			_UpperCAmelCase						:   List[Any]					)					->					int:


       """simple docstring"""







       _UpperCAmelCase  :						Union[str, Any]							   =					Version("1.0.0"					)
       assert (version == other) is expected_equality
       assert (version != other) is not expected_equality
       assert (hash(_UpperCAmelCase					) == hash(_UpperCAmelCase					)) is expected_equality

