
"""simple docstring"""





import math

import qiskit
def 				A_  (__a = 1					, __a = 1					, __a = 1					):

					'''simple docstring'''





					if (
					    isinstance(__a					, __a					)
					    or isinstance(__a					, __a					)
					    or isinstance(__a					, __a					)
					):
										raise TypeError("inputs must be integers."					)

					if (input_a < 0) or (input_a < 0) or (carry_in < 0):
										raise ValueError("inputs must be positive."					)

					if (
					    (math.floor(__a					) != input_a)
					    or (math.floor(__a					) != input_a)
					    or (math.floor(__a					) != carry_in)
					):
										raise ValueError("inputs must be exact integers."					)

					if (input_a > 2) or (input_a > 2) or (carry_in > 2):
										raise ValueError("inputs must be less or equal to 2."					)

					# build registers
					A_								=    qiskit.QuantumRegister(4					, "qr"					)
					A_								=    qiskit.ClassicalRegister(2					, "cr"					)
					# list the entries
					A_								=    [input_a, input_a, carry_in]

					A_								=    qiskit.QuantumCircuit(__a					, __a					)

					for i in range(0					, 3					):
										if entry[i] == 2:
															quantum_circuit.h(__a					)  # for hadamard entries
										elif entry[i] == 1:
															quantum_circuit.x(__a					)  # for 1 entries
										elif entry[i] == 0:
															quantum_circuit.i(__a					)  # for 0 entries

    # build the circuit
					quantum_circuit.ccx(0					, 1					, 3					)  # ccx = toffoli gate
					quantum_circuit.cx(0					, 1					)
					quantum_circuit.ccx(1					, 2					, 3					)
					quantum_circuit.cx(1					, 2					)
					quantum_circuit.cx(0					, 1					)

					quantum_circuit.measure([2, 3]					, __a					)  # measure the last two qbits

					A_								=    qiskit.Aer.get_backend("aer_simulator"					)
					A_								=    qiskit.execute(__a					, __a					, shots=1000					)

					return job.result().get_counts(__a					)


if __name__ == "__main__":
		print(F"""Total sum count for state is: {quantum_full_adder(1, 1, 1)}""")






"""simple docstring"""





from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


UpperCamelCase_       :    Any						      =			{'''configuration_van''': ['''VAN_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''VanConfig''']}


try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCamelCase_       :    str						      =			[
		    '''VAN_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''VanForImageClassification''',
		    '''VanModel''',
		    '''VanPreTrainedModel''',
		]

if TYPE_CHECKING:
		from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_van import (
				    VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
				    VanForImageClassification,
				    VanModel,
				    VanPreTrainedModel,
				)

else:
		import sys

		UpperCamelCase_       :    Optional[Any]						      =			_LazyModule(__name__, globals()['''__file__'''], _import_structure)




