

import math

import qiskit


def        __lowerCAmelCase    (       _UpperCamelCase		:  int = 1		,							_UpperCamelCase		:  int = 1		,							_UpperCamelCase		:  int = 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
 SCREAMING_SNAKE_CASE								=			qiskit.QuantumRegister(4		,							'qr'	)
 SCREAMING_SNAKE_CASE								=			qiskit.ClassicalRegister(2		,							'cr'	)
 # list the entries
 SCREAMING_SNAKE_CASE								=			[input_a, input_a, carry_in]

 SCREAMING_SNAKE_CASE								=			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

 SCREAMING_SNAKE_CASE								=			qiskit.Aer.get_backend('aer_simulator'	)
 SCREAMING_SNAKE_CASE								=			qiskit.execute(_lowercase		,							_lowercase		,							shots=10_00	)

 return job.result().get_counts(_lowercase	)


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




import numpy as np


def        __lowerCAmelCase    (       _UpperCamelCase		:  np.ndarray	)		->							np.ndarray:
 '''simple docstring'''


 return 1 / (1 + np.exp(-vector	))


def        __lowerCAmelCase    (       _UpperCamelCase		:  np.ndarray	)		->							np.ndarray:
 '''simple docstring'''


 return vector * sigmoid(_UpperCamelCase	)


if __name__ == "__main__":
      import doctest

      doctest.testmod()

