import sys from typing import Any import numpy as np import numpy.typing as npt from numpy.lib.stride_tricks import DummyArray if sys.version_info >= (3, 11): from typing import assert_type else: from typing_extensions import assert_type AR_f8: npt.NDArray[np.float64] AR_LIKE_f: list[float] interface_dict: dict[str, Any] assert_type(np.lib.stride_tricks.DummyArray(interface_dict), DummyArray) assert_type(np.lib.stride_tricks.as_strided(AR_f8), npt.NDArray[np.float64]) assert_type(np.lib.stride_tricks.as_strided(AR_LIKE_f), npt.NDArray[Any]) assert_type(np.lib.stride_tricks.as_strided(AR_f8, strides=(1, 5)), npt.NDArray[np.float64]) assert_type(np.lib.stride_tricks.as_strided(AR_f8, shape=[9, 20]), npt.NDArray[np.float64]) assert_type(np.lib.stride_tricks.sliding_window_view(AR_f8, 5), npt.NDArray[np.float64]) assert_type(np.lib.stride_tricks.sliding_window_view(AR_LIKE_f, (1, 5)), npt.NDArray[Any]) assert_type(np.lib.stride_tricks.sliding_window_view(AR_f8, [9], axis=1), npt.NDArray[np.float64]) assert_type(np.broadcast_to(AR_f8, 5), npt.NDArray[np.float64]) assert_type(np.broadcast_to(AR_LIKE_f, (1, 5)), npt.NDArray[Any]) assert_type(np.broadcast_to(AR_f8, [4, 6], subok=True), npt.NDArray[np.float64]) assert_type(np.broadcast_shapes((1, 2), [3, 1], (3, 2)), tuple[int, ...]) assert_type(np.broadcast_shapes((6, 7), (5, 6, 1), 7, (5, 1, 7)), tuple[int, ...]) assert_type(np.broadcast_arrays(AR_f8, AR_f8), list[npt.NDArray[Any]]) assert_type(np.broadcast_arrays(AR_f8, AR_LIKE_f), list[npt.NDArray[Any]])