flatiter.pyi 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from typing import Literal, TypeAlias
  2. import numpy as np
  3. import numpy.typing as npt
  4. from typing_extensions import assert_type
  5. a: np.flatiter[npt.NDArray[np.str_]]
  6. a_1d: np.flatiter[np.ndarray[tuple[int], np.dtype[np.bytes_]]]
  7. Size: TypeAlias = Literal[42]
  8. a_1d_fixed: np.flatiter[np.ndarray[tuple[Size], np.dtype[np.object_]]]
  9. assert_type(a.base, npt.NDArray[np.str_])
  10. assert_type(a.copy(), npt.NDArray[np.str_])
  11. assert_type(a.coords, tuple[int, ...])
  12. assert_type(a.index, int)
  13. assert_type(iter(a), np.flatiter[npt.NDArray[np.str_]])
  14. assert_type(next(a), np.str_)
  15. assert_type(a[0], np.str_)
  16. assert_type(a[[0, 1, 2]], npt.NDArray[np.str_])
  17. assert_type(a[...], npt.NDArray[np.str_])
  18. assert_type(a[:], npt.NDArray[np.str_])
  19. assert_type(a[(...,)], npt.NDArray[np.str_])
  20. assert_type(a[(0,)], np.str_)
  21. assert_type(a.__array__(), npt.NDArray[np.str_])
  22. assert_type(a.__array__(np.dtype(np.float64)), npt.NDArray[np.float64])
  23. assert_type(
  24. a_1d.__array__(),
  25. np.ndarray[tuple[int], np.dtype[np.bytes_]],
  26. )
  27. assert_type(
  28. a_1d.__array__(np.dtype(np.float64)),
  29. np.ndarray[tuple[int], np.dtype[np.float64]],
  30. )
  31. assert_type(
  32. a_1d_fixed.__array__(),
  33. np.ndarray[tuple[Size], np.dtype[np.object_]],
  34. )
  35. assert_type(
  36. a_1d_fixed.__array__(np.dtype(np.float64)),
  37. np.ndarray[tuple[Size], np.dtype[np.float64]],
  38. )
  39. a[0] = "a"
  40. a[:5] = "a"
  41. a[...] = "a"
  42. a[(...,)] = "a"