Coverage for src\attipy\_vectorops.py: 83%
6 statements
« prev ^ index » next coverage.py v7.11.3, created at 2025-11-11 18:11 +0100
« prev ^ index » next coverage.py v7.11.3, created at 2025-11-11 18:11 +0100
1import numpy as np
2from numba import njit
3from numpy.typing import NDArray
6@njit # type: ignore[misc]
7def _normalize(q: NDArray[np.float64]) -> NDArray[np.float64]:
8 """
9 L2-normalize a vector.
11 Parameters
12 ----------
13 q : numpy.ndarray
14 Vector to be normalized
16 Returns
17 -------
18 numpy.ndarray
19 Normalized copy of `q`.
20 """
21 return q / np.sqrt((q * q).sum()) # type: ignore[no-any-return] # numpy funcs declare Any as return when given scalar-like