




def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       A__   				=					abs(lowercase_		)
       A__   				=					0
       while n > 0:
              res += n % 10
              n //= 10
       return res







def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       A__   				=					abs(lowercase_		)
       return n if n < 10 else n % 10 + sum_of_digits(n // 10		)







def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       return sum(int(lowercase_		) for c in str(abs(lowercase_		)		)		)







def SCREAMING_SNAKE_CASE       ( )     -> None:



       """simple docstring"""

       from collections.abc import Callable
       from timeit import timeit

       def benchmark_a_function(lowercase_				,       lowercase_		) -> None:
              A__   				=					f"""{func.__name__}({value})"""
              A__   				=					timeit(f"""__main__.{call}"""				,       setup='''import __main__'''		)
              print(f"""{call:56} = {func(lowercase_		)} -- {timing:.4f} 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 (sum_of_digits, sum_of_digits_recursion, sum_of_digits_compact):
                     benchmark_a_function(lowercase_				,       lowercase_		)
              print()


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  benchmark()








from __future__ import annotations

import numpy as np







def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> List[Any]:



       """simple docstring"""

       return np.maximum(0				,       lowercase_		)


if __name__ == "__main__":
  print(np.array(relu([-1, 0, 5])))  # --> [0, 0, 5]


