





'''simple docstring'''

import unittest

from transformers import GPTSwaTokenizer
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


__A	: Optional[Any]              =       get_tests_dir('fixtures/test_sentencepiece_with_bytefallback.model')






@require_sentencepiece
@require_tokenizers
class       _UpperCamelCase      (			_A		,    unittest.TestCase			):






				'''simple docstring'''





				SCREAMING_SNAKE_CASE:Any         =	GPTSwaTokenizer
				SCREAMING_SNAKE_CASE:int         =	False
				SCREAMING_SNAKE_CASE:Optional[int]         =	True
				SCREAMING_SNAKE_CASE:Optional[Any]         =	False






				def        lowercase__   (				self    ):
											"""simple docstring"""
											super().setUp()

											# We have a SentencePiece fixture for testing
											a__            =							GPTSwaTokenizer(a_       ,					eos_token='<unk>'       ,					bos_token='<unk>'       ,					pad_token='<unk>'    )

											tokenizer.save_pretrained(self.tmpdirname    )






				def        lowercase__   (				self       ,					_a    ):
											"""simple docstring"""
											a__            =							'This is a test'
											a__            =							'This is a test'
											return input_text, output_text






				def        lowercase__   (				self    ):
											"""simple docstring"""
											a__            =							'<s>'
											a__            =							1

											self.assertEqual(self.get_tokenizer()._convert_token_to_id(a_    )       ,					a_    )
											self.assertEqual(self.get_tokenizer()._convert_id_to_token(a_    )       ,					a_    )






				def        lowercase__   (				self    ):
											"""simple docstring"""
											a__            =							list(self.get_tokenizer().get_vocab().keys()    )

											self.assertEqual(vocab_keys[0]       ,					'<unk>'    )
											self.assertEqual(vocab_keys[1]       ,					'<s>'    )
											self.assertEqual(vocab_keys[-1]       ,					'j'    )
											self.assertEqual(len(a_    )       ,					2000    )






				def        lowercase__   (				self    ):
											"""simple docstring"""
											self.assertEqual(self.get_tokenizer().vocab_size       ,					2000    )






				def        lowercase__   (				self    ):
											"""simple docstring"""
											a__            =							GPTSwaTokenizer(a_    )

											a__            =							tokenizer.tokenize('This is a test'    )
											self.assertListEqual(a_       ,					['▁This', '▁is', '▁a', '▁t', 'est']    )

											self.assertListEqual(tokenizer.convert_tokens_to_ids(a_    )       ,					[465, 287, 265, 631, 842]    )

											a__            =							tokenizer.tokenize('I was born in 92000, and this is falsé.'    )
											# fmt: off
											self.assertListEqual(
											    a_       ,					['▁I', '▁was', '▁bor', 'n', '▁in', '▁', '<0x39>', '2', '0', '0', '0', ',', '▁and', '▁this', '▁is', '▁f', 'al', 's', '<0xC3>', '<0xA9>', '.']       ,					)
											# fmt: on

											a__            =							tokenizer.convert_tokens_to_ids(a_    )
											self.assertListEqual(
											    a_       ,					[262, 272, 1525, 286, 271, 268, 60, 916, 633, 633, 633, 259, 266, 301, 287, 384, 367, 263, 198, 172, 260]       ,					)

											a__            =							tokenizer.convert_ids_to_tokens(a_    )
											# fmt: off
											self.assertListEqual(
											    a_       ,					['▁I', '▁was', '▁bor', 'n', '▁in', '▁', '<0x39>', '2', '0', '0', '0', ',', '▁and', '▁this', '▁is', '▁f', 'al', 's', '<0xC3>', '<0xA9>', '.']    )
											# fmt: on






				def        lowercase__   (				self    ):
											"""simple docstring"""
											a__            =							GPTSwaTokenizer(a_    )
											a__            =							['This is a test', 'I was born in 92000, and this is falsé.']
											a__            =							[
											    [465, 287, 265, 631, 842],
											    [262, 272, 1525, 286, 271, 268, 60, 916, 633, 633, 633, 259, 266, 301, 287, 384, 367, 263, 198, 172, 260],
											]

											# Test that encode_fast returns the same as tokenize + convert_tokens_to_ids
											for text, expected_ids in zip(a_       ,					a_    ):
																		self.assertListEqual(tokenizer.encode_fast(a_    )       ,					a_    )

											# Test that decode_fast returns the input text
											for text, token_ids in zip(a_       ,					a_    ):
																		self.assertEqual(tokenizer.decode_fast(a_    )       ,					a_    )






				@slow
				def        lowercase__   (				self    ):
											"""simple docstring"""
											a__            =							[
											    '<|python|>def fibonacci(n)\n    if n < 0:\n        print(\'Incorrect input\')',
											    'Hey there, how are you doing this fine day?',
											    'This is a text with a trailing spaces followed by a dot     .',
											    'Häj sväjs lillebrör! =)',
											    'Det är inget fel på Mr. Cool',
											]

											# fmt: off
											a__            =							{'input_ids': [[6_3423, 5, 6811, 1_4954, 282, 816, 3821, 6_3466, 6_3425, 6_3462, 18, 6_3978, 678, 301, 1320, 6_3423, 6_3455, 6_3458, 18, 6_3982, 4246, 3940, 1901, 4_7789, 5547, 1_8994], [1_9630, 1100, 6_3446, 1342, 633, 544, 4488, 593, 5102, 2416, 6_3495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1652, 428, 268, 1936, 515, 268, 5_8593, 2_2413, 9106, 546, 268, 3_3213, 6_3979, 698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [5_5130, 6_3450, 924, 6_3449, 2249, 4062, 1558, 318, 6_3504, 2_1498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [509, 377, 2827, 2559, 332, 6575, 6_3443, 2_6801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], 'token_type_ids': [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], 'attention_mask': [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}
											# fmt: on
											self.tokenizer_integration_test_util(
											    expected_encoding=a_       ,					model_name='AI-Sweden/gpt-sw3-126m'       ,					sequences=a_       ,					)










'''simple docstring'''

import qiskit







def a_     (    __UpperCAmelCase				,							__UpperCAmelCase					)				->					qiskit.result.counts.Counts:





			"""simple docstring"""







			snake_case:    Union[str, Any]      							=qiskit.Aer.get_backend('aer_simulator'					)

			# Create a Quantum Circuit acting on the q register
			snake_case:    Dict      							=qiskit.QuantumCircuit(__UpperCAmelCase				,							__UpperCAmelCase					)

			# Map the quantum measurement to the classical bits
			circuit.measure([0]				,							[0]					)

			# Execute the circuit on the simulator
			snake_case:    Dict      							=qiskit.execute(__UpperCAmelCase				,							__UpperCAmelCase				,							shots=10_00					)

			# Return the histogram data of the results of the experiment.
			return job.result().get_counts(__UpperCAmelCase					)


if __name__ == "__main__":
	print(F"""Total count for various states are: {single_qubit_measure(1, 1)}""")




