



'''simple docstring'''





import os
import unittest

from transformers import ElectraTokenizerFast
from transformers.models.electra.tokenization_electra import (
    VOCAB_FILES_NAMES,
    BasicTokenizer,
    ElectraTokenizer,
    WordpieceTokenizer,
    _is_control,
    _is_punctuation,
    _is_whitespace,
)
from transformers.testing_utils import require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin, filter_non_english






@require_tokenizers
class __A      (  A       ,       unittest.TestCase						):



 '''simple docstring'''







 __lowerCamelCase   :	int										=	ElectraTokenizer
 __lowerCamelCase   :	Dict										=	ElectraTokenizerFast
 __lowerCamelCase   :	str										=	True
 __lowerCamelCase   :	Union[str, Any]										=	True
 __lowerCamelCase   :	int										=	filter_non_english



 def  a__  (self	)   ->					List[Any]:


      """simple docstring"""



      super().setUp()

      _a     =  [
          '''[UNK]''',
          '''[CLS]''',
          '''[SEP]''',
          '''[PAD]''',
          '''[MASK]''',
          '''want''',
          '''##want''',
          '''##ed''',
          '''wa''',
          '''un''',
          '''runn''',
          '''##ing''',
          ''',''',
          '''low''',
          '''lowest''',
      ]
      _a     =  os.path.join(self.tmpdirname			,       VOCAB_FILES_NAMES['''vocab_file''']	)
      with open(self.vocab_file			,       '''w'''			,       encoding='''utf-8'''	) as vocab_writer:
           vocab_writer.write(''''''.join([x + '''\n''' for x in vocab_tokens]	)	)



 def  a__  (self			,       A	)   ->					Tuple:


      """simple docstring"""



      _a     =  '''UNwant\u00E9d,running'''
      _a     =  '''unwanted, running'''
      return input_text, output_text



 def  a__  (self	)   ->					Dict:


      """simple docstring"""



      _a     =  self.tokenizer_class(self.vocab_file	)

      _a     =  tokenizer.tokenize('''UNwant\u00E9d,running'''	)
      self.assertListEqual(A			,       ['''un''', '''##want''', '''##ed''', ''',''', '''runn''', '''##ing''']	)
      self.assertListEqual(tokenizer.convert_tokens_to_ids(A	)			,       [9, 6, 7, 12, 10, 11]	)



 def  a__  (self	)   ->					List[str]:


      """simple docstring"""



      if not self.test_rust_tokenizer:
           return

      _a     =  self.get_tokenizer()
      _a     =  self.get_rust_tokenizer()

      _a     =  '''UNwant\u00E9d,running'''

      _a     =  tokenizer.tokenize(A	)
      _a     =  rust_tokenizer.tokenize(A	)
      self.assertListEqual(A			,       A	)

      _a     =  tokenizer.encode(A			,       add_special_tokens=A	)
      _a     =  rust_tokenizer.encode(A			,       add_special_tokens=A	)
      self.assertListEqual(A			,       A	)

      _a     =  self.get_rust_tokenizer()
      _a     =  tokenizer.encode(A	)
      _a     =  rust_tokenizer.encode(A	)
      self.assertListEqual(A			,       A	)

      # With lower casing
      _a     =  self.get_tokenizer(do_lower_case=A	)
      _a     =  self.get_rust_tokenizer(do_lower_case=A	)

      _a     =  '''UNwant\u00E9d,running'''

      _a     =  tokenizer.tokenize(A	)
      _a     =  rust_tokenizer.tokenize(A	)
      self.assertListEqual(A			,       A	)

      _a     =  tokenizer.encode(A			,       add_special_tokens=A	)
      _a     =  rust_tokenizer.encode(A			,       add_special_tokens=A	)
      self.assertListEqual(A			,       A	)

      _a     =  self.get_rust_tokenizer()
      _a     =  tokenizer.encode(A	)
      _a     =  rust_tokenizer.encode(A	)
      self.assertListEqual(A			,       A	)



 def  a__  (self	)   ->					Optional[int]:


      """simple docstring"""



      _a     =  BasicTokenizer()

      self.assertListEqual(tokenizer.tokenize('''ah\u535A\u63A8zz'''	)			,       ['''ah''', '''\u535A''', '''\u63A8''', '''zz''']	)



 def  a__  (self	)   ->					int:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHeLLo!how  \n Are yoU?  '''	)			,       ['''hello''', '''!''', '''how''', '''are''', '''you''', '''?''']	)
      self.assertListEqual(tokenizer.tokenize('''H\u00E9llo'''	)			,       ['''hello''']	)



 def  a__  (self	)   ->					str:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A			,       strip_accents=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHäLLo!how  \n Are yoU?  '''	)			,       ['''hällo''', '''!''', '''how''', '''are''', '''you''', '''?''']	)
      self.assertListEqual(tokenizer.tokenize('''H\u00E9llo'''	)			,       ['''h\u00E9llo''']	)



 def  a__  (self	)   ->					Optional[Any]:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A			,       strip_accents=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHäLLo!how  \n Are yoU?  '''	)			,       ['''hallo''', '''!''', '''how''', '''are''', '''you''', '''?''']	)
      self.assertListEqual(tokenizer.tokenize('''H\u00E9llo'''	)			,       ['''hello''']	)



 def  a__  (self	)   ->					Tuple:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHäLLo!how  \n Are yoU?  '''	)			,       ['''hallo''', '''!''', '''how''', '''are''', '''you''', '''?''']	)
      self.assertListEqual(tokenizer.tokenize('''H\u00E9llo'''	)			,       ['''hello''']	)



 def  a__  (self	)   ->					Dict:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHeLLo!how  \n Are yoU?  '''	)			,       ['''HeLLo''', '''!''', '''how''', '''Are''', '''yoU''', '''?''']	)



 def  a__  (self	)   ->					List[Any]:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A			,       strip_accents=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHäLLo!how  \n Are yoU?  '''	)			,       ['''HäLLo''', '''!''', '''how''', '''Are''', '''yoU''', '''?''']	)



 def  a__  (self	)   ->					Tuple:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A			,       strip_accents=A	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHäLLo!how  \n Are yoU?  '''	)			,       ['''HaLLo''', '''!''', '''how''', '''Are''', '''yoU''', '''?''']	)



 def  a__  (self	)   ->					Tuple:


      """simple docstring"""



      _a     =  BasicTokenizer(do_lower_case=A			,       never_split=['''[UNK]''']	)

      self.assertListEqual(
          tokenizer.tokenize(''' \tHeLLo!how  \n Are yoU? [UNK]'''	)			,       ['''HeLLo''', '''!''', '''how''', '''Are''', '''yoU''', '''?''', '''[UNK]''']	)



 def  a__  (self	)   ->					Dict:


      """simple docstring"""



      _a     =  ['''[UNK]''', '''[CLS]''', '''[SEP]''', '''want''', '''##want''', '''##ed''', '''wa''', '''un''', '''runn''', '''##ing''']

      _a     =  {}
      for i, token in enumerate(A	):
           _a     =  i
      _a     =  WordpieceTokenizer(vocab=A			,       unk_token='''[UNK]'''	)

      self.assertListEqual(tokenizer.tokenize(''''''	)			,       []	)

      self.assertListEqual(tokenizer.tokenize('''unwanted running'''	)			,       ['''un''', '''##want''', '''##ed''', '''runn''', '''##ing''']	)

      self.assertListEqual(tokenizer.tokenize('''unwantedX running'''	)			,       ['''[UNK]''', '''runn''', '''##ing''']	)



 def  a__  (self	)   ->					Any:


      """simple docstring"""



      self.assertTrue(_is_whitespace(''' '''	)	)
      self.assertTrue(_is_whitespace('''\t'''	)	)
      self.assertTrue(_is_whitespace('''\r'''	)	)
      self.assertTrue(_is_whitespace('''\n'''	)	)
      self.assertTrue(_is_whitespace('''\u00A0'''	)	)

      self.assertFalse(_is_whitespace('''A'''	)	)
      self.assertFalse(_is_whitespace('''-'''	)	)



 def  a__  (self	)   ->					int:


      """simple docstring"""



      self.assertTrue(_is_control('''\u0005'''	)	)

      self.assertFalse(_is_control('''A'''	)	)
      self.assertFalse(_is_control(''' '''	)	)
      self.assertFalse(_is_control('''\t'''	)	)
      self.assertFalse(_is_control('''\r'''	)	)



 def  a__  (self	)   ->					List[Any]:


      """simple docstring"""



      self.assertTrue(_is_punctuation('''-'''	)	)
      self.assertTrue(_is_punctuation('''$'''	)	)
      self.assertTrue(_is_punctuation('''`'''	)	)
      self.assertTrue(_is_punctuation('''.'''	)	)

      self.assertFalse(_is_punctuation('''A'''	)	)
      self.assertFalse(_is_punctuation(''' '''	)	)



 def  a__  (self	)   ->					Optional[Any]:


      """simple docstring"""



      _a     =  self.get_tokenizer()
      _a     =  self.get_rust_tokenizer()

      # Example taken from the issue https://github.com/huggingface/tokenizers/issues/340
      self.assertListEqual([tokenizer.tokenize(A	) for t in ['''Test''', '''\xad''', '''test''']]			,       [['''[UNK]'''], [], ['''[UNK]''']]	)

      self.assertListEqual(
          [rust_tokenizer.tokenize(A	) for t in ['''Test''', '''\xad''', '''test''']]			,       [['''[UNK]'''], [], ['''[UNK]''']]	)



 @slow
 def  a__  (self	)   ->					Any:


      """simple docstring"""



      _a     =  self.tokenizer_class.from_pretrained('''google/electra-base-discriminator'''	)

      _a     =  tokenizer.encode('''sequence builders'''			,       add_special_tokens=A	)
      _a     =  tokenizer.encode('''multi-sequence build'''			,       add_special_tokens=A	)

      _a     =  tokenizer.build_inputs_with_special_tokens(A	)
      _a     =  tokenizer.build_inputs_with_special_tokens(A			,       A	)

      assert encoded_sentence == [101] + text + [102]
      assert encoded_pair == [101] + text + [102] + text_a + [102]



 def  a__  (self	)   ->					Dict:


      """simple docstring"""



      for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
           with self.subTest(f'''{tokenizer.__class__.__name__} ({pretrained_name})'''	):
                _a     =  self.rust_tokenizer_class.from_pretrained(A			,       **A	)

                _a     =  f'''A, naïve {tokenizer_r.mask_token} AllenNLP sentence.'''
                _a     =  tokenizer_r.encode_plus(
                    A			,       return_attention_mask=A			,       return_token_type_ids=A			,       return_offsets_mapping=A			,       add_special_tokens=A			,       )

                _a     =  tokenizer_r.do_lower_case if hasattr(A			,       '''do_lower_case'''	) else False
                _a     =  (
                    [
                        ((0, 0), tokenizer_r.cls_token),
                        ((0, 1), '''A'''),
                        ((1, 2), ''','''),
                        ((3, 5), '''na'''),
                        ((5, 6), '''##ï'''),
                        ((6, 8), '''##ve'''),
                        ((9, 15), tokenizer_r.mask_token),
                        ((16, 21), '''Allen'''),
                        ((21, 23), '''##NL'''),
                        ((23, 24), '''##P'''),
                        ((25, 33), '''sentence'''),
                        ((33, 34), '''.'''),
                        ((0, 0), tokenizer_r.sep_token),
                    ]
                    if not do_lower_case
                    else [
                        ((0, 0), tokenizer_r.cls_token),
                        ((0, 1), '''a'''),
                        ((1, 2), ''','''),
                        ((3, 8), '''naive'''),
                        ((9, 15), tokenizer_r.mask_token),
                        ((16, 21), '''allen'''),
                        ((21, 23), '''##nl'''),
                        ((23, 24), '''##p'''),
                        ((25, 33), '''sentence'''),
                        ((33, 34), '''.'''),
                        ((0, 0), tokenizer_r.sep_token),
                    ]
                )

                self.assertEqual(
                    [e[1] for e in expected_results]			,       tokenizer_r.convert_ids_to_tokens(tokens['''input_ids''']	)	)
                self.assertEqual([e[0] for e in expected_results]			,       tokens['''offset_mapping''']	)



 def  a__  (self	)   ->					Optional[Any]:


      """simple docstring"""



      _a     =  ['''的''', '''人''', '''有''']
      _a     =  ''''''.join(A	)
      for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
           with self.subTest(f'''{tokenizer.__class__.__name__} ({pretrained_name})'''	):
                _a     =  True
                _a     =  self.tokenizer_class.from_pretrained(A			,       **A	)
                _a     =  self.rust_tokenizer_class.from_pretrained(A			,       **A	)

                _a     =  tokenizer_p.encode(A			,       add_special_tokens=A	)
                _a     =  tokenizer_r.encode(A			,       add_special_tokens=A	)

                _a     =  tokenizer_r.convert_ids_to_tokens(A	)
                _a     =  tokenizer_p.convert_ids_to_tokens(A	)

                # it is expected that each Chinese character is not preceded by "##"
                self.assertListEqual(A			,       A	)
                self.assertListEqual(A			,       A	)

                _a     =  False
                _a     =  self.rust_tokenizer_class.from_pretrained(A			,       **A	)
                _a     =  self.tokenizer_class.from_pretrained(A			,       **A	)

                _a     =  tokenizer_r.encode(A			,       add_special_tokens=A	)
                _a     =  tokenizer_p.encode(A			,       add_special_tokens=A	)

                _a     =  tokenizer_r.convert_ids_to_tokens(A	)
                _a     =  tokenizer_p.convert_ids_to_tokens(A	)

                # it is expected that only the first Chinese character is not preceded by "##".
                _a     =  [
                    f'''##{token}''' if idx != 0 else token for idx, token in enumerate(A	)
                ]
                self.assertListEqual(A			,       A	)
                self.assertListEqual(A			,       A	)








'''simple docstring'''





import warnings
from collections.abc import Callable
from typing import Any

import numpy
from matplotlib import pyplot

lowercase_			=  0.25 + 0.0J
lowercase_			=  -0.4 + 0.6J
lowercase_			=  -0.1 + 0.651J
lowercase_			=  -2.0
lowercase_			=  56
lowercase_			=  2.0
lowercase_			=  666




def lowerCAmelCase  (__A  ,     __A):



     """simple docstring"""



     return numpy.exp(__A) + c_parameter




def lowerCAmelCase  (__A  ,     __A):



     """simple docstring"""



     return z_values * z_values + c_parameter




def lowerCAmelCase  (__A  ,     __A):



     """simple docstring"""



     _a     =  numpy.linspace(-window_size  ,     __A  ,     __A)
     _a     =  x.reshape((nb_pixels, 1))
     _a     =  numpy.linspace(-window_size  ,     __A  ,     __A)
     _a     =  y.reshape((1, nb_pixels))
     return x + 1.0J * y




def lowerCAmelCase  (__A  ,     __A  ,     __A  ,     __A  ,     __A = None  ,     ):



     """simple docstring"""



     _a     =  z_a.astype('''complex64''')
     for _ in range(__A):
          _a     =  eval_function(__A  ,     __A)
          if infinity is not None:
               numpy.nan_to_num(__A  ,     copy=__A  ,     nan=__A)
               _a     =  infinity
     return z_n




def lowerCAmelCase  (__A  ,     __A  ,     __A  ,     __A  ,     ):



     """simple docstring"""



     _a     =  (abs(__A)).transpose()
     _a     =  abs_z_final[::-1, :]
     pyplot.matshow(abs_z_final < escape_radius)
     pyplot.title(F'''Julia set of ${function_label}$, $c={function_params}$''')
     pyplot.show()




def lowerCAmelCase  ():



     """simple docstring"""



     warnings.filterwarnings(
         '''ignore'''  ,     category=__A  ,     message='''overflow encountered in multiply''')
     warnings.filterwarnings(
         '''ignore'''  ,     category=__A  ,     message='''invalid value encountered in multiply'''  ,     )
     warnings.filterwarnings(
         '''ignore'''  ,     category=__A  ,     message='''overflow encountered in absolute''')
     warnings.filterwarnings(
         '''ignore'''  ,     category=__A  ,     message='''overflow encountered in exp''')


if __name__ == "__main__":
  lowercase_			=  prepare_grid(window_size, nb_pixels)

  ignore_overflow_warnings()  # See file header for explanations

  lowercase_			=  24
  lowercase_			=  2 * abs(c_cauliflower) + 1
  lowercase_			=  iterate_function(
      eval_quadratic_polynomial,
      c_cauliflower,
      nb_iterations,
      z_a,
      infinity=1.1 * escape_radius,
  )
  show_results("z^2+c", c_cauliflower, escape_radius, z_final)

  lowercase_			=  64
  lowercase_			=  2 * abs(c_polynomial_a) + 1
  lowercase_			=  iterate_function(
      eval_quadratic_polynomial,
      c_polynomial_a,
      nb_iterations,
      z_a,
      infinity=1.1 * escape_radius,
  )
  show_results("z^2+c", c_polynomial_a, escape_radius, z_final)

  lowercase_			=  161
  lowercase_			=  2 * abs(c_polynomial_a) + 1
  lowercase_			=  iterate_function(
      eval_quadratic_polynomial,
      c_polynomial_a,
      nb_iterations,
      z_a,
      infinity=1.1 * escape_radius,
  )
  show_results("z^2+c", c_polynomial_a, escape_radius, z_final)

  lowercase_			=  12
  lowercase_			=  1_0000.0
  lowercase_			=  iterate_function(
      eval_exponential,
      c_exponential,
      nb_iterations,
      z_a + 2,
      infinity=1.0e10,
  )
  show_results("e^z+c", c_exponential, escape_radius, z_final)



