'''simple docstring'''






def  _SCREAMING_SNAKE_CASE		(      __snake_case							:			int				):
     _A    		=  abs(__snake_case				)
     _A    		=  0
     while n > 0:
          res += n % 1_0
          n //= 1_0
     return res





def  _SCREAMING_SNAKE_CASE		(      __snake_case							:			int				):
     _A    		=  abs(__snake_case				)
     return n if n < 1_0 else n % 1_0 + sum_of_digits(n // 1_0				)





def  _SCREAMING_SNAKE_CASE		(      __snake_case							:			int				):
     return sum(int(__snake_case				) for c in str(abs(__snake_case				)				)				)





def  _SCREAMING_SNAKE_CASE		(      ):
     from collections.abc import Callable
     from timeit import timeit

     def benchmark_a_function(__snake_case							:			Callable   ,		__snake_case							:			int				) -> None:
          _A    		=  F'{func.__name__}({value})'
          _A    		=  timeit(F'__main__.{call}'   ,		setup='import __main__'				)
          print(F'{call:56} = {func(__snake_case				)} -- {timing:.4f} seconds'				)

     for value in (2_6_2_1_4_4, 1_1_2_5_8_9_9_9_0_6_8_4_2_6_2_4, 1_2_6_7_6_5_0_6_0_0_2_2_8_2_2_9_4_0_1_4_9_6_7_0_3_2_0_5_3_7_6):
          for func in (sum_of_digits, sum_of_digits_recursion, sum_of_digits_compact):
               benchmark_a_function(__snake_case   ,		__snake_case				)
          print()


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   benchmark()








'''simple docstring'''

from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


SCREAMING_SNAKE_CASE__     :						Tuple	=  {'''configuration_van''': ['''VAN_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''VanConfig''']}


try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE__     :						List[str]	=  [
			    '''VAN_PRETRAINED_MODEL_ARCHIVE_LIST''',
			    '''VanForImageClassification''',
			    '''VanModel''',
			    '''VanPreTrainedModel''',
			]

if TYPE_CHECKING:
			from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_van import (
						    VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
						    VanForImageClassification,
						    VanModel,
						    VanPreTrainedModel,
						)

else:
			import sys

			SCREAMING_SNAKE_CASE__     :						Dict	=  _LazyModule(__name__, globals()['''__file__'''], _import_structure)




