


"""simple docstring"""
from __future__ import annotations

from collections.abc import Callable






def 		lowercase							(     _snake_case						:      Callable[[int | float], int | float]     ,   _snake_case						:      int | float     ,   _snake_case						:      int | float     ,   _snake_case						:      int = 100     ,   )     ->float:
	"""simple docstring"""





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


if __name__ == "__main__":






			def 		lowercase							(     _snake_case						:      Optional[int]     )     ->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:""")
			SCREAMING_SNAKE_CASE :    Tuple									=				10
			while i <= 10_0000:
						print(F'with {i} steps: {trapezoidal_area(f, -5, 5, i)}')
						i *= 10







"""simple docstring"""




def lowercase_  (   _snake_case   ,_snake_case						):
							return 1 if input_a == input_a else 0

def lowercase_  (   ):
							assert xnor_gate(0   ,0						) == 1
							assert xnor_gate(0   ,1						) == 0
							assert xnor_gate(1   ,0						) == 0
							assert xnor_gate(1   ,1						) == 1


if __name__ == "__main__":
					print(xnor_gate(0, 0))
					print(xnor_gate(0, 1))
					print(xnor_gate(1, 0))
					print(xnor_gate(1, 1))




