






from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

snake_case__   :						Union[str, Any]													=   typing.Union[Iterable[float], Iterable[int], np.ndarray]  # noqa: UP007
snake_case__   :						Any													=   typing.Union[np.floataa, int, float]  # noqa: UP007






def      _snake_case     (__lowercase     ,   __lowercase):
   return np.sqrt(np.sum((np.asarray(__lowercase) - np.asarray(__lowercase)) ** 2))






def      _snake_case     (__lowercase     ,   __lowercase):
   return sum((va - va) ** 2 for va, va in zip(__lowercase     ,   __lowercase)) ** (1 / 2)


if __name__ == "__main__":






 def      _snake_case     ():
    from timeit import timeit

    print('Without Numpy')
    print(
        timeit(
            'euclidean_distance_no_np([1, 2, 3], [4, 5, 6])'     ,   number=10000     ,   globals=globals()     ,   ))
    print('With Numpy')
    print(
        timeit(
            'euclidean_distance([1, 2, 3], [4, 5, 6])'     ,   number=10000     ,   globals=globals()     ,   ))

 benchmark()













import numpy as np






def      _snake_case     (__lowercase):
   return 1 / (1 + np.exp(-vector))






def      _snake_case     (__lowercase):
   return vector * sigmoid(__lowercase)


if __name__ == "__main__":
 import doctest

 doctest.testmod()





