
from __future__ import annotations

from math import pi







def 						_snake_case(  SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__    )			->   dict[str, float]:

       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()


from collections.abc import Callable

import numpy as np







def 						_snake_case(  SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__    )			->   np.array:
       lowercase							:					Optional[int]	     =				int(np.ceil((x_end - xa) / step_size    )    )
       lowercase							:					List[Any]	     =				np.zeros((n + 1,)    )
       lowercase							:					Optional[int]	     =				ya
       lowercase							:					Optional[int]	     =				xa

       for k in range(SCREAMING_SNAKE_CASE__    ):
              lowercase							:					str	     =				y[k] + step_size * ode_func(SCREAMING_SNAKE_CASE__ ,     y[k]    )
              lowercase							:					Union[str, Any]	     =				y[k] + (
                  (step_size / 2) * (ode_func(SCREAMING_SNAKE_CASE__ ,     y[k]    ) + ode_func(x + step_size ,     SCREAMING_SNAKE_CASE__    ))
              )
              x += step_size

       return y


if __name__ == "__main__":
  import doctest

  doctest.testmod()
