





from __future__ import annotations

from collections.abc import Callable





def 					lowerCAmelCase_			(	__a     ,   __a     ,   __a     ,   __a = 100     ,   )					->		float:







  """simple docstring"""





  lowerCamelCase__:				Union[str, Any]        =x_start
  lowerCamelCase__:				List[str]        =fnc(__a		)
  lowerCamelCase__:				str        =0.0
  for _ in range(__a		):
    # Approximates small segments of curve as linear and solve
    # for trapezoidal area
    lowerCamelCase__:				Union[str, Any]        =(x_end - x_start) / steps + xa
    lowerCamelCase__:				Optional[int]        =fnc(__a		)
    area += abs(fxa + fxa		) * (xa - xa) / 2
    # Increment step
    lowerCamelCase__:				Any        =xa
    lowerCamelCase__:				List[Any]        =fxa
  return area


if __name__ == "__main__":





     def 					lowerCAmelCase_			(	__a		)					->		int:







       """simple docstring"""





       return x**3 + x**2

     print("f(x) = x^3 + x^2")
     print("The area between the curve, x = -5, x = 5 and the x axis is:")
     __A     =    10
     while i <= 10_0000:
          print(f'with {i} steps: {trapezoidal_area(f, -5, 5, i)}')
          i *= 10








def 					lowerCAmelCase_			(	__a		)					->		str:







  """simple docstring"""





  if isinstance(__a     ,   __a		):
    raise TypeError("'float' object cannot be interpreted as an integer"		)
  if isinstance(__a     ,   __a		):
    raise TypeError("'str' object cannot be interpreted as an integer"		)

  if num == 0:
    return "0b0"

  lowerCamelCase__:				Optional[int]        =False

  if num < 0:
    lowerCamelCase__:				Optional[Any]        =True
    lowerCamelCase__:				List[Any]        =-num

  lowerCamelCase__:				list[int]        =[]
  while num > 0:
    binary.insert(0     ,   num % 2		)
    num >>= 1

  if negative:
    return "-0b" + "".join(str(__a		) for e in binary		)

  return "0b" + "".join(str(__a		) for e in binary		)


if __name__ == "__main__":
     import doctest

     doctest.testmod()

