





from __future__ import annotations

from math import pi
def      _A       (		SCREAMING_SNAKE_CASE     :   float       ,       SCREAMING_SNAKE_CASE     :   float       ,       SCREAMING_SNAKE_CASE     :   float						):





  """simple docstring"""



  if (inductance, frequency, reactance).count(0						) != 1:
    raise ValueError("One and only one argument must be 0"						)
  if inductance < 0:
    raise ValueError("Inductance cannot be negative"						)
  if frequency < 0:
    raise ValueError("Frequency cannot be negative"						)
  if reactance < 0:
    raise ValueError("Inductive reactance cannot be negative"						)
  if inductance == 0:
    return {"inductance": reactance / (2 * pi * frequency)}
  elif frequency == 0:
    return {"frequency": reactance / (2 * pi * inductance)}
  elif reactance == 0:
    return {"reactance": 2 * pi * frequency * inductance}
  else:
    raise ValueError("Exactly one argument must be 0"						)


if __name__ == "__main__":
     import doctest

     doctest.testmod()











"""simple docstring"""
from collections.abc import Callable

import numpy as np

def       _snake_case						(						UpperCamelCase						:		Callable			,		UpperCamelCase						:		float			,		UpperCamelCase						:		float			,		UpperCamelCase						:		float			,		UpperCamelCase						:		float						):
 UpperCAmelCase	:					Any	=	int(np.ceil((x_end - xa) / step_size						)						)
 UpperCAmelCase	:					Optional[Any]	=	np.zeros((n + 1,)						)
 UpperCAmelCase	:					Optional[int]	=	ya
 UpperCAmelCase	:					int	=	xa

 for k in range(UpperCamelCase						):
  UpperCAmelCase	:					Optional[int]	=	y[k] + step_size * ode_func(UpperCamelCase			,		y[k]						)
  UpperCAmelCase	:					Optional[int]	=	y[k] + (
      (step_size / 2) * (ode_func(UpperCamelCase			,		y[k]						) + ode_func(x + step_size			,		UpperCamelCase						))
  )
  x += step_size

 return y


if __name__ == "__main__":
      import doctest

      doctest.testmod()
