'''simple docstring'''




import qiskit






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    )     ->   int:
    __lowerCamelCase          =  qiskit.Aer.get_backend('''aer_simulator'''    )

    # Create a Quantum Circuit acting on the q register
    __lowerCamelCase          =  qiskit.QuantumCircuit(_a    ,  _a    )

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

    # Execute the circuit on the simulator
    __lowerCamelCase          =  qiskit.execute(_a    ,  _a    ,  shots=10_00    )

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


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

'''simple docstring'''




import itertools
import json
import os
import unittest

from transformers import AddedToken, LongformerTokenizer, LongformerTokenizerFast
from transformers.models.longformer.tokenization_longformer import VOCAB_FILES_NAMES
from transformers.testing_utils import require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin




@require_tokenizers
class    a__				(       UpperCAmelCase__							,       unittest.TestCase			):
     lowerCamelCase  :					Optional[Any]							=LongformerTokenizer
     lowerCamelCase  :					Optional[Any]							=True
     lowerCamelCase  :					List[str]							=LongformerTokenizerFast
     lowerCamelCase  :					Union[str, Any]							=True






     def        SCREAMING_SNAKE_CASE__       (			self		:		List[Any]   ):





         """simple docstring"""



         super().setUp()

         # Adapted from Sennrich et al. 2015 and https://github.com/rsennrich/subword-nmt
         __lowerCamelCase          =  [
             '''l''',
             '''o''',
             '''w''',
             '''e''',
             '''r''',
             '''s''',
             '''t''',
             '''i''',
             '''d''',
             '''n''',
             '''\u0120''',
             '''\u0120l''',
             '''\u0120n''',
             '''\u0120lo''',
             '''\u0120low''',
             '''er''',
             '''\u0120lowest''',
             '''\u0120newer''',
             '''\u0120wider''',
             '''<unk>''',
         ]
         __lowerCamelCase          =  dict(zip(a  ,    range(len(a   )   )   )   )
         __lowerCamelCase          =  ['''#version: 0.2''', '''\u0120 l''', '''\u0120l o''', '''\u0120lo w''', '''e r''', '''''']
         __lowerCamelCase          =  {'''unk_token''': '''<unk>'''}

         __lowerCamelCase          =  os.path.join(self.tmpdirname  ,    VOCAB_FILES_NAMES['''vocab_file''']   )
         __lowerCamelCase          =  os.path.join(self.tmpdirname  ,    VOCAB_FILES_NAMES['''merges_file''']   )
         with open(self.vocab_file  ,    '''w'''  ,    encoding='''utf-8'''   ) as fp:
             fp.write(json.dumps(a   ) + '''\n'''   )
         with open(self.merges_file  ,    '''w'''  ,    encoding='''utf-8'''   ) as fp:
             fp.write('''\n'''.join(a   )   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		int  ,    **a		:		int   ):





         """simple docstring"""



         kwargs.update(self.special_tokens_map   )
         return self.tokenizer_class.from_pretrained(self.tmpdirname  ,    **a   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		str  ,    **a		:		Dict   ):





         """simple docstring"""



         kwargs.update(self.special_tokens_map   )
         return self.rust_tokenizer_class.from_pretrained(self.tmpdirname  ,    **a   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		List[str]  ,    a		:		int   ):





         """simple docstring"""



         __lowerCamelCase          =  '''lower newer'''
         __lowerCamelCase          =  '''lower newer'''
         return input_text, output_text






     def        SCREAMING_SNAKE_CASE__       (			self		:		List[Any]   ):





         """simple docstring"""



         __lowerCamelCase          =  self.tokenizer_class(self.vocab_file  ,    self.merges_file  ,    **self.special_tokens_map   )
         __lowerCamelCase          =  '''lower newer'''
         __lowerCamelCase          =  ['''l''', '''o''', '''w''', '''er''', '''\u0120''', '''n''', '''e''', '''w''', '''er''']
         __lowerCamelCase          =  tokenizer.tokenize(a   )  # , add_prefix_space=True)
         self.assertListEqual(a  ,    a   )

         __lowerCamelCase          =  tokens + [tokenizer.unk_token]
         __lowerCamelCase          =  [0, 1, 2, 15, 10, 9, 3, 2, 15, 19]
         self.assertListEqual(tokenizer.convert_tokens_to_ids(a   )  ,    a   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		Union[str, Any]   ):





         """simple docstring"""



         __lowerCamelCase          =  self.get_tokenizer()

         self.assertListEqual(tokenizer.encode('''Hello world!'''  ,    add_special_tokens=a   )  ,    [0, 3_14_14, 2_32, 3_28, 2]   )
         self.assertListEqual(
             tokenizer.encode('''Hello world! cécé herlolip 418'''  ,    add_special_tokens=a   )  ,    [0, 3_14_14, 2_32, 3_28, 7_40, 11_40, 1_26_95, 69, 4_60_78, 15_88, 2]  ,    )






     @slow
     def        SCREAMING_SNAKE_CASE__       (			self		:		Any   ):





         """simple docstring"""



         __lowerCamelCase          =  self.tokenizer_class.from_pretrained('''allenai/longformer-base-4096'''   )

         __lowerCamelCase          =  tokenizer.encode('''sequence builders'''  ,    add_special_tokens=a   )
         __lowerCamelCase          =  tokenizer.encode('''multi-sequence build'''  ,    add_special_tokens=a   )

         __lowerCamelCase          =  tokenizer.encode(
             '''sequence builders'''  ,    add_special_tokens=a  ,    add_prefix_space=a   )
         __lowerCamelCase          =  tokenizer.encode(
             '''sequence builders'''  ,    '''multi-sequence build'''  ,    add_special_tokens=a  ,    add_prefix_space=a   )

         __lowerCamelCase          =  tokenizer.build_inputs_with_special_tokens(a   )
         __lowerCamelCase          =  tokenizer.build_inputs_with_special_tokens(a  ,    a   )

         assert encoded_sentence == encoded_text_from_decode
         assert encoded_pair == encoded_pair_from_decode






     def        SCREAMING_SNAKE_CASE__       (			self		:		List[str]   ):





         """simple docstring"""



         __lowerCamelCase          =  self.get_tokenizer()

         __lowerCamelCase          =  '''Encode this sequence.'''
         __lowerCamelCase          =  tokenizer.byte_encoder[''' '''.encode('''utf-8'''   )[0]]

         # Testing encoder arguments
         __lowerCamelCase          =  tokenizer.encode(a  ,    add_special_tokens=a  ,    add_prefix_space=a   )
         __lowerCamelCase          =  tokenizer.convert_ids_to_tokens(encoded[0]   )[0]
         self.assertNotEqual(a  ,    a   )

         __lowerCamelCase          =  tokenizer.encode(a  ,    add_special_tokens=a  ,    add_prefix_space=a   )
         __lowerCamelCase          =  tokenizer.convert_ids_to_tokens(encoded[0]   )[0]
         self.assertEqual(a  ,    a   )

         tokenizer.add_special_tokens({'''bos_token''': '''<s>'''}   )
         __lowerCamelCase          =  tokenizer.encode(a  ,    add_special_tokens=a   )
         __lowerCamelCase          =  tokenizer.convert_ids_to_tokens(encoded[1]   )[0]
         self.assertNotEqual(a  ,    a   )

         # Testing spaces after special tokens
         __lowerCamelCase          =  '''<mask>'''
         tokenizer.add_special_tokens(
             {'''mask_token''': AddedToken(a  ,    lstrip=a  ,    rstrip=a   )}   )  # mask token has a left space
         __lowerCamelCase          =  tokenizer.convert_tokens_to_ids(a   )

         __lowerCamelCase          =  '''Encode <mask> sequence'''
         __lowerCamelCase          =  '''Encode <mask>sequence'''

         __lowerCamelCase          =  tokenizer.encode(a   )
         __lowerCamelCase          =  encoded.index(a   )
         __lowerCamelCase          =  tokenizer.convert_ids_to_tokens(encoded[mask_loc + 1]   )[0]
         self.assertEqual(a  ,    a   )

         __lowerCamelCase          =  tokenizer.encode(a   )
         __lowerCamelCase          =  encoded.index(a   )
         __lowerCamelCase          =  tokenizer.convert_ids_to_tokens(encoded[mask_loc + 1]   )[0]
         self.assertNotEqual(a  ,    a   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		str   ):





         """simple docstring"""



         pass






     def        SCREAMING_SNAKE_CASE__       (			self		:		Union[str, Any]   ):





         """simple docstring"""



         for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
             with self.subTest(f"""{tokenizer.__class__.__name__} ({pretrained_name})"""   ):
                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(a  ,    **a   )
                 __lowerCamelCase          =  self.tokenizer_class.from_pretrained(a  ,    **a   )
                 __lowerCamelCase          =  '''A, <mask> AllenNLP sentence.'''
                 __lowerCamelCase          =  tokenizer_r.encode_plus(a  ,    add_special_tokens=a  ,    return_token_type_ids=a   )
                 __lowerCamelCase          =  tokenizer_p.encode_plus(a  ,    add_special_tokens=a  ,    return_token_type_ids=a   )

                 # token_type_ids should put 0 everywhere
                 self.assertEqual(sum(tokens_r['''token_type_ids''']   )  ,    sum(tokens_p['''token_type_ids''']   )   )

                 # attention_mask should put 1 everywhere, so sum over length should be 1
                 self.assertEqual(
                     sum(tokens_r['''attention_mask''']   ) / len(tokens_r['''attention_mask''']   )  ,    sum(tokens_p['''attention_mask''']   ) / len(tokens_p['''attention_mask''']   )  ,    )

                 __lowerCamelCase          =  tokenizer_r.convert_ids_to_tokens(tokens_r['''input_ids''']   )
                 __lowerCamelCase          =  tokenizer_p.convert_ids_to_tokens(tokens_p['''input_ids''']   )

                 # Rust correctly handles the space before the mask while python doesnt
                 self.assertSequenceEqual(tokens_p['''input_ids''']  ,    [0, 2_50, 6, 5_02_64, 38_23, 4_87, 2_19_92, 36_45, 4, 2]   )
                 self.assertSequenceEqual(tokens_r['''input_ids''']  ,    [0, 2_50, 6, 5_02_64, 38_23, 4_87, 2_19_92, 36_45, 4, 2]   )

                 self.assertSequenceEqual(
                     a  ,    ['''<s>''', '''A''', ''',''', '''<mask>''', '''ĠAllen''', '''N''', '''LP''', '''Ġsentence''', '''.''', '''</s>''']   )
                 self.assertSequenceEqual(
                     a  ,    ['''<s>''', '''A''', ''',''', '''<mask>''', '''ĠAllen''', '''N''', '''LP''', '''Ġsentence''', '''.''', '''</s>''']   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		str   ):





         """simple docstring"""



         for trim_offsets, add_prefix_space in itertools.product([True, False]  ,    repeat=2   ):
             __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                 self.tmpdirname  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )

             __lowerCamelCase          =  json.loads(tokenizer_r.backend_tokenizer.pre_tokenizer.__getstate__()   )
             __lowerCamelCase          =  json.loads(tokenizer_r.backend_tokenizer.post_processor.__getstate__()   )

             self.assertEqual(pre_tokenizer_state['''add_prefix_space''']  ,    a   )

             self.assertEqual(post_processor_state['''add_prefix_space''']  ,    a   )
             self.assertEqual(post_processor_state['''trim_offsets''']  ,    a   )






     def        SCREAMING_SNAKE_CASE__       (			self		:		Tuple   ):





         """simple docstring"""



         for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
             with self.subTest(f"""{tokenizer.__class__.__name__} ({pretrained_name})"""   ):
                 __lowerCamelCase          =  '''hello'''  # `hello` is a token in the vocabulary of `pretrained_name`
                 __lowerCamelCase          =  f"""{text_of_1_token} {text_of_1_token}"""

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (0, len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (len(a   ) + 1, len(a   ) + 1 + len(a   ))  ,    )

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (0, len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (len(a   ) + 1, len(a   ) + 1 + len(a   ))  ,    )

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (0, len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (len(a   ), len(a   ) + 1 + len(a   ))  ,    )

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (0, len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (len(a   ), len(a   ) + 1 + len(a   ))  ,    )

                 __lowerCamelCase          =  f""" {text}"""

                 # tokenizer_r = self.rust_tokenizer_class.from_pretrained(
                 #     pretrained_name, use_fast=True, add_prefix_space=True, trim_offsets=True
                 # )
                 # encoding = tokenizer_r(text, return_offsets_mapping=True, add_special_tokens=False)
                 # self.assertEqual(encoding.offset_mapping[0], (1, 1 + len(text_of_1_token)))
                 # self.assertEqual(
                 #     encoding.offset_mapping[1],
                 #     (1 + len(text_of_1_token) + 1, 1 + len(text_of_1_token) + 1 + len(text_of_1_token)),
                 # )

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (1, 1 + len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (1 + len(a   ) + 1, 1 + len(a   ) + 1 + len(a   ))  ,    )

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (0, 1 + len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (1 + len(a   ), 1 + len(a   ) + 1 + len(a   ))  ,    )

                 __lowerCamelCase          =  self.rust_tokenizer_class.from_pretrained(
                     a  ,    use_fast=a  ,    add_prefix_space=a  ,    trim_offsets=a   )
                 __lowerCamelCase          =  tokenizer_r(a  ,    return_offsets_mapping=a  ,    add_special_tokens=a   )
                 self.assertEqual(encoding.offset_mapping[0]  ,    (0, 1 + len(a   ))   )
                 self.assertEqual(
                     encoding.offset_mapping[1]  ,    (1 + len(a   ), 1 + len(a   ) + 1 + len(a   ))  ,    )
