'''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_flax_available,
    is_tf_available,
    is_torch_available,
)


_UpperCAmelCase    :     str         =       {
    '''configuration_vision_encoder_decoder''': ['''VisionEncoderDecoderConfig''', '''VisionEncoderDecoderOnnxConfig''']
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCAmelCase    :     Tuple         =       ['''VisionEncoderDecoderModel''']

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCAmelCase    :     str         =       ['''TFVisionEncoderDecoderModel''']

try:
   if not is_flax_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCAmelCase    :     Any         =       ['''FlaxVisionEncoderDecoderModel''']

if TYPE_CHECKING:
   from .configuration_vision_encoder_decoder import VisionEncoderDecoderConfig, VisionEncoderDecoderOnnxConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_vision_encoder_decoder import VisionEncoderDecoderModel

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_vision_encoder_decoder import TFVisionEncoderDecoderModel

   try:
      if not is_flax_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_flax_vision_encoder_decoder import FlaxVisionEncoderDecoderModel

else:
   import sys

   _UpperCAmelCase    :     List[str]         =       _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



