'''simple docstring'''




import math
from timeit import timeit

def _UpperCamelCase (							SCREAMING_SNAKE_CASE_				):
     lowercase_       :							List[Any]  					=       0
     lowercase_       :							int  					=       abs(__lowerCamelCase				)
     while True:
          lowercase_       :							Optional[int]  					=       n // 10
          digits += 1
          if n == 0:
               break
     return digits

def _UpperCamelCase (							SCREAMING_SNAKE_CASE_				):
     return 1 if n == 0 else math.floor(math.log(abs(__lowerCamelCase				)	,							10				) + 1				)

def _UpperCamelCase (							SCREAMING_SNAKE_CASE_				):
     return len(str(abs(__lowerCamelCase				)				)				)

def _UpperCamelCase (							):
     from collections.abc import Callable

     def benchmark_a_function(SCREAMING_SNAKE_CASE_	,							SCREAMING_SNAKE_CASE_				) -> None:
          lowercase_       :							Any  					=       f'''{func.__name__}({value})'''
          lowercase_       :							List[str]  					=       timeit(f'''__main__.{call}'''	,							setup='import __main__'				)
          print(f'''{call}: {func(__lowerCamelCase				)} -- {timing} seconds'''				)

     for value in (262_144, 1_125_899_906_842_624, 1_267_650_600_228_229_401_496_703_205_376):
          for func in (num_digits, num_digits_fast, num_digits_faster):
               benchmark_a_function(__lowerCamelCase	,							__lowerCamelCase				)
          print()


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 benchmark()








'''simple docstring'''

def __UpperCamelCase (      __lowerCamelCase		:			float   ,	__lowerCamelCase		:			float   ,	__lowerCamelCase		:			float					)   ->  float:







     '''simple docstring'''






     if mass < 0:
          raise ValueError("The mass of the body cannot be negative"					)
     if radius <= 0:
          raise ValueError("The radius is always a positive non zero integer"					)
     return (mass * (velocity) ** 2) / radius


if __name__ == "__main__":
   import doctest

   doctest.testmod(verbose=True)

