





from __future__ import annotations

import math
from collections.abc import Callable






def lowerCamelCase__    (							snake_case_	:  Callable[[int | float], int | float]       ,      snake_case_	:  int | float       ,      snake_case_	:  int | float       ,      snake_case_	:  int = 100       ,      )      ->				float:
   __snake_case							       =   x_start
   __snake_case							       =   fnc(snake_case_       )
   __snake_case							       =   0.0

   for _ in range(snake_case_       ):
      # Approximates curve as a sequence of linear lines and sums their length
      __snake_case							       =   (x_end - x_start) / steps + xa
      __snake_case							       =   fnc(snake_case_       )
      length += math.hypot(xa - xa       ,      fxa - fxa       )

      # Increment step
      __snake_case							       =   xa
      __snake_case							       =   fxa

   return length


if __name__ == "__main__":






    def lowerCamelCase__    (							snake_case_	:  Optional[Any]       )      ->				int:
       return math.sin(10 * x       )

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






def 		UpperCamelCase	(   snake_case__       :    int       ,     snake_case__       :    int	)	->     int:
   return int(input_a == input_a == 0	)
def 		UpperCamelCase	(   )	->     None:
   print('Truth Table of NOR Gate:'	)
   print('|   Input 1   |  Input 2  | Output |'	)
   print(F"""|      0      |    0      |  {nor_gate(0       ,     0	)}     |"""	)
   print(F"""|      0      |    1      |  {nor_gate(0       ,     1	)}     |"""	)
   print(F"""|      1      |    0      |  {nor_gate(1       ,     0	)}     |"""	)
   print(F"""|      1      |    1      |  {nor_gate(1       ,     1	)}     |"""	)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    main()



