




from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

__lowerCAmelCase	:       Optional[int]     =	typing.Union[Iterable[float], Iterable[int], np.ndarray]  # noqa: UP007
__lowerCAmelCase	:       Optional[int]     =	typing.Union[np.floataa, int, float]  # noqa: UP007




def     __magic_name__       (				A	:      Vector,						A	:      Vector     ):






			'''simple docstring'''







			return np.sqrt(np.sum((np.asarray(A     ) - np.asarray(A     )) ** 2     )     )




def     __magic_name__       (				A	:      Vector,						A	:      Vector     ):






			'''simple docstring'''







			return sum((va - va) ** 2 for va, va in zip(A,						A     )     ) ** (1 / 2)


if __name__ == "__main__":




		def     __magic_name__       (				):






					'''simple docstring'''







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












# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


__lowerCAmelCase	:       Tuple     =	subprocess.check_output('git merge-base main HEAD'.split()).decode('utf-8')
__lowerCAmelCase	:       Tuple     =	subprocess.check_output(F'''git diff --name-only {fork_point_sha}'''.split()).decode('utf-8').split()

__lowerCAmelCase	:       Dict     =	'|'.join(sys.argv[1:])
__lowerCAmelCase	:       List[Any]     =	re.compile(rF'''^({joined_dirs}).*?\.py$''')

__lowerCAmelCase	:       List[Any]     =	[x for x in modified_files if regex.match(x)]
print(' '.join(relevant_modified_files), end='')






