



import math

import qiskit



def    snake_case_				(    _SCREAMING_SNAKE_CASE = 1  ,	_SCREAMING_SNAKE_CASE = 1  ,	_SCREAMING_SNAKE_CASE = 1   ):
	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
	__lowercase		       =			qiskit.QuantumRegister(4  ,	"qr"   )
	__lowercase		       =			qiskit.ClassicalRegister(2  ,	"cr"   )
	# list the entries
	__lowercase		       =			[input_a, input_a, carry_in]

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

	__lowercase		       =			qiskit.Aer.get_backend("aer_simulator"   )
	__lowercase		       =			qiskit.execute(_lowercase  ,	_lowercase  ,	shots=1_0_0_0   )

	return job.result().get_counts(_lowercase   )


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








# Copyright 2023 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from ..models.whisper import WhisperForConditionalGeneration, WhisperProcessor
from .base import PipelineTool

class   _A   ( _lowercase	):


						'''simple docstring'''





						_snake_case			:     Dict      							=      """openai/whisper-base"""
						_snake_case			:     Union[str, Any]      							=      (
						    """This is a tool that transcribes an audio into text. It takes an input named `audio` and returns the """
						    """transcribed text."""
						)
						_snake_case			:     Any      							=      """transcriber"""
						_snake_case			:     Any      							=      WhisperProcessor
						_snake_case			:     Optional[int]      							=      WhisperForConditionalGeneration

						_snake_case			:     str      							=      ["""audio"""]
						_snake_case			:     Optional[int]      							=      ["""text"""]



						def     _snake_case	(	self	:							List[str]							,      lowerCamelCase	:							Optional[int]	):






							'''simple docstring'''



							return self.pre_processor(lowerCamelCase							,      return_tensors="pt"	).input_features



						def     _snake_case	(	self	:							str							,      lowerCamelCase	:							List[Any]	):






							'''simple docstring'''



							return self.model.generate(inputs=lowerCamelCase	)



						def     _snake_case	(	self	:							List[str]							,      lowerCamelCase	:							Optional[Any]	):






							'''simple docstring'''



							return self.pre_processor.batch_decode(lowerCamelCase							,      skip_special_tokens=lowerCamelCase	)[0]



