




'''simple docstring'''







import unittest
from timeit import timeit






def 	_lowercase	(			lowercase_		,							lowercase_						):



		'''simple docstring'''







		_snake_case			 = first_num if first_num >= second_num else second_num
		_snake_case			 = max_num
		while (common_mult % first_num > 0) or (common_mult % second_num > 0):
				common_mult += max_num
		return common_mult






def 	_lowercase	(			lowercase_		,							lowercase_						):



		'''simple docstring'''







		return b if a == 0 else greatest_common_divisor(b % a		,							lowercase_						)






def 	_lowercase	(			lowercase_		,							lowercase_						):



		'''simple docstring'''







		return first_num // greatest_common_divisor(lowercase_		,							lowercase_						) * second_num






def 	_lowercase	(			):



		'''simple docstring'''







		_snake_case			 = (
		    "from __main__ import least_common_multiple_slow, least_common_multiple_fast"
		)
		print(
		    "least_common_multiple_slow():"		,							timeit("least_common_multiple_slow(1000, 999)"		,							setup=lowercase_						)		,							)
		print(
		    "least_common_multiple_fast():"		,							timeit("least_common_multiple_fast(1000, 999)"		,							setup=lowercase_						)		,							)





class   lowerCamelCase_							( unittest.TestCase							):




					'''simple docstring'''






					lowercase__					=				(
					    (1_0, 2_0),
					    (1_3, 1_5),
					    (4, 3_1),
					    (1_0, 4_2),
					    (4_3, 3_4),
					    (5, 1_2),
					    (1_2, 2_5),
					    (1_0, 2_5),
					    (6, 9),
					)
					lowercase__					=				(2_0, 1_9_5, 1_2_4, 2_1_0, 1_4_6_2, 6_0, 3_0_0, 5_0, 1_8)






					def        __SCREAMING_SNAKE_CASE			(					self				):
							for i, (first_num, second_num) in enumerate(self.test_inputs				):
									_snake_case			 = least_common_multiple_slow(__UpperCamelCase,						__UpperCamelCase				)
									_snake_case			 = least_common_multiple_fast(__UpperCamelCase,						__UpperCamelCase				)
									with self.subTest(i=__UpperCamelCase				):
											self.assertEqual(__UpperCamelCase,						self.expected_results[i]				)
											self.assertEqual(__UpperCamelCase,						self.expected_results[i]				)


if __name__ == "__main__":
						benchmark()
						unittest.main()











'''simple docstring'''







import unittest
import warnings
from dataclasses import dataclass

from transformers.convert_slow_tokenizer import SpmConverter
from transformers.testing_utils import get_tests_dir





@dataclass
class   lowerCamelCase_							:




					'''simple docstring'''






					lowercase__					=				42





class   lowerCamelCase_							( unittest.TestCase							):




					'''simple docstring'''






					def        __SCREAMING_SNAKE_CASE			(					self				):
							_snake_case			 = get_tests_dir("fixtures/test_sentencepiece.model"				)
							_snake_case			 = get_tests_dir("fixtures/test_sentencepiece_with_bytefallback.model"				)

							_snake_case			 = FakeOriginalTokenizer(vocab_file=__UpperCamelCase				)

							with warnings.catch_warnings(record=__UpperCamelCase				) as w:
									_snake_case			 = SpmConverter(__UpperCamelCase				)
							self.assertEqual(len(__UpperCamelCase				),						0				)

							_snake_case			 = FakeOriginalTokenizer(vocab_file=__UpperCamelCase				)

							with warnings.catch_warnings(record=__UpperCamelCase				) as w:
									_snake_case			 = SpmConverter(__UpperCamelCase				)
							self.assertEqual(len(__UpperCamelCase				),						1				)

							self.assertIn(
							    "The sentencepiece tokenizer that you are converting to a fast tokenizer uses the byte fallback option"
							    " which is not implemented in the fast tokenizers.",						str(w[0].message				),						)





