

import numpy as np

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   np.array      ):



					'''simple docstring'''





					return 1 / (1 + np.exp(-vector      ))


if __name__ == "__main__":
							import doctest

							doctest.testmod()




from __future__ import annotations

from collections.abc import Callable

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   Callable[[int | float], int | float]     ,					SCREAMING_SNAKE_CASE_		:   int | float     ,					SCREAMING_SNAKE_CASE_		:   int | float     ,					SCREAMING_SNAKE_CASE_		:   int = 100     ,					):



     '''simple docstring'''





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


if __name__ == "__main__":

       def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   Tuple      ):



            '''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:''')
       snake_case_        =			10
       while i <= 100_000:
              print(F'''with {i} steps: {trapezoidal_area(f, -5, 5, i)}''')
              i *= 10

