




'''simple docstring'''







import platform
from argparse import ArgumentParser

import huggingface_hub
import pandas
import pyarrow

from datasets import __version__ as version
from datasets.commands import BaseDatasetsCLICommand






def 		_lowercase		(	lowercase_  ):



		'''simple docstring'''







		return EnvironmentCommand()





class      lowerCamelCase_							(       UpperCAmelCase_							):




					'''simple docstring'''






					@staticmethod
					def 				__SCREAMING_SNAKE_CASE	(    __UpperCamelCase ):
							_snake_case	       =       parser.add_parser("env",  help="Print relevant system environment info." )
							download_parser.set_defaults(func=__UpperCamelCase )






					def 				__SCREAMING_SNAKE_CASE	(    self ):
							_snake_case	       =       {
							    "`datasets` version": version,
							    "Platform": platform.platform(),
							    "Python version": platform.python_version(),
							    "Huggingface_hub version": huggingface_hub.__version__,
							    "PyArrow version": pyarrow.__version__,
							    "Pandas version": pandas.__version__,
							}

							print("\nCopy-and-paste the text below in your GitHub issue.\n" )
							print(self.format_dict(__UpperCamelCase ) )

							return info






					@staticmethod
					def 				__SCREAMING_SNAKE_CASE	(    __UpperCamelCase ):
							return "\n".join([f'''- {prop}: {val}''' for prop, val in d.items()] ) + "\n"











'''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()





