




import math

import qiskit







def SCREAMING_SNAKE_CASE       ( lowercase_ = 1				,       lowercase_ = 1				,       lowercase_ = 1		)     -> qiskit.result.counts.Counts:



       """simple docstring"""

       if (
           isinstance(lowercase_				,       lowercase_		)
           or isinstance(lowercase_				,       lowercase_		)
           or isinstance(lowercase_				,       lowercase_		)
       ):
              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(lowercase_		) != input_a)
           or (math.floor(lowercase_		) != input_a)
           or (math.floor(lowercase_		) != 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(lowercase_				,       lowercase_		)

       for i in range(0				,       3		):
              if entry[i] == 2:
                     quantum_circuit.h(lowercase_		)  # for hadamard entries
              elif entry[i] == 1:
                     quantum_circuit.x(lowercase_		)  # for 1 entries
              elif entry[i] == 0:
                     quantum_circuit.i(lowercase_		)  # 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]				,       lowercase_		)  # measure the last two qbits

       A__   				=					qiskit.Aer.get_backend('''aer_simulator'''		)
       A__   				=					qiskit.execute(lowercase_				,       lowercase_				,       shots=1_000		)

       return job.result().get_counts(lowercase_		)


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








from typing import TYPE_CHECKING

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


_lowerCamelCase			:	Union[str, Any]							 =     {"""configuration_dpt""": ["""DPT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """DPTConfig"""]}

try:
  if not is_vision_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCamelCase			:	Optional[Any]							 =     ["""DPTFeatureExtractor"""]
  _lowerCamelCase			:	int							 =     ["""DPTImageProcessor"""]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCamelCase			:	Optional[int]							 =     [
      """DPT_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """DPTForDepthEstimation""",
      """DPTForSemanticSegmentation""",
      """DPTModel""",
      """DPTPreTrainedModel""",
  ]


if TYPE_CHECKING:
  from .configuration_dpt import DPT_PRETRAINED_CONFIG_ARCHIVE_MAP, DPTConfig

  try:
    if not is_vision_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_dpt import DPTFeatureExtractor
    from .image_processing_dpt import DPTImageProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_dpt import (
        DPT_PRETRAINED_MODEL_ARCHIVE_LIST,
        DPTForDepthEstimation,
        DPTForSemanticSegmentation,
        DPTModel,
        DPTPreTrainedModel,
    )


else:
  import sys

  _lowerCamelCase			:	Any							 =     _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)


