



'''simple docstring'''





def        a_     (							_lowerCAmelCase       )      ->      bool:
  __lowerCamelCase       :       str           = 0
  for ch in input_str:
    __lowerCamelCase       :       Optional[Any]           = ord(_lowerCAmelCase       )
    __lowerCamelCase       :       str           = pow(2       ,_lowerCAmelCase       )

    # If we already turned on bit for current character's unicode
    if bitmap >> ch_unicode & 1 == 1:
      return False
    bitmap |= ch_bit_index_on
  return True


if __name__ == "__main__":
   import doctest

   doctest.testmod()











'''simple docstring'''





from __future__ import annotations

import math
from collections.abc import Callable

def        a_     (							_lowerCAmelCase       ,_lowerCAmelCase       ,_lowerCAmelCase       ,_lowerCAmelCase = 100       ,)      ->      float:
  __lowerCamelCase       :       Dict           = x_start
  __lowerCamelCase       :       int           = fnc(_lowerCAmelCase       )
  __lowerCamelCase       :       Dict           = 0.0

  for _ in range(_lowerCAmelCase       ):
    # Approximates curve as a sequence of linear lines and sums their length
    __lowerCamelCase       :       List[str]           = (x_end - x_start) / steps + xa
    __lowerCamelCase       :       List[Any]           = fnc(_lowerCAmelCase       )
    length += math.hypot(xa - xa       ,fxa - fxa       )

    # Increment step
    __lowerCamelCase       :       Any           = xa
    __lowerCamelCase       :       Tuple           = fxa

  return length


if __name__ == "__main__":

   def        a_     (							_lowerCAmelCase       )      ->      Dict:
     return math.sin(10 * x       )

   print('f(x) = sin(10 * x)')
   print('The length of the curve from x = -10 to x = 10 is:')
   _UpperCamelCase											=						10
   while i <= 100000:
      print(f'''With {i} steps: {line_length(f, -10, 10, i)}''')
      i *= 10






