

import unittest
from timeit import timeit




def       UpperCAmelCase__    (      _A				:			int     ,				_A				:			int							):





  '''simple docstring'''







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




def       UpperCAmelCase__    (      _A				:			int     ,				_A				:			int							):





  '''simple docstring'''







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




def       UpperCAmelCase__    (      _A				:			int     ,				_A				:			int							):





  '''simple docstring'''







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




def       UpperCAmelCase__    (      ):





  '''simple docstring'''







  a__  =(
      '''from __main__ import least_common_multiple_slow, least_common_multiple_fast'''
  )
  print(
      '''least_common_multiple_slow():'''     ,				timeit('''least_common_multiple_slow(1000, 999)'''     ,				setup=_A							)     ,				)
  print(
      '''least_common_multiple_fast():'''     ,				timeit('''least_common_multiple_fast(1000, 999)'''     ,				setup=_A							)     ,				)







class 						__magic_name__      (							unittest.TestCase							):

   '''simple docstring'''




   lowerCamelCase__			:     List[str]    =       (
       (10, 20),
       (13, 15),
       (4, 31),
       (10, 42),
       (43, 34),
       (5, 12),
       (12, 25),
       (10, 25),
       (6, 9),
   )
   lowerCamelCase__			:     Optional[Any]    =       (20, 1_95, 1_24, 2_10, 14_62, 60, 3_00, 50, 18)



   def 			_UpperCAmelCase			(    self	)							->   Union[str, Any]:






     """simple docstring"""






     for i, (first_num, second_num) in enumerate(self.test_inputs	):
       a__  =least_common_multiple_slow(lowercase_,   lowercase_	)
       a__  =least_common_multiple_fast(lowercase_,   lowercase_	)
       with self.subTest(i=lowercase_	):
         self.assertEqual(lowercase_,   self.expected_results[i]	)
         self.assertEqual(lowercase_,   self.expected_results[i]	)


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



# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
lowerCamelCase									= abspath(join(dirname(dirname(dirname(__file__))), '''src'''))
sys.path.insert(1, git_repo_path)


# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='''ignore''', category=FutureWarning)




def       UpperCAmelCase__    (      _A				:			List[Any]							):





  '''simple docstring'''







  from diffusers.utils.testing_utils import pytest_addoption_shared

  pytest_addoption_shared(_A							)




def       UpperCAmelCase__    (      _A				:			int							):





  '''simple docstring'''







  from diffusers.utils.testing_utils import pytest_terminal_summary_main

  a__  =terminalreporter.config.getoption('''--make-reports'''							)
  if make_reports:
    pytest_terminal_summary_main(_A     ,				id=_A							)
