arithmetic.pyi 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. from typing import Any
  2. import numpy as np
  3. b_ = np.bool_()
  4. dt = np.datetime64(0, "D")
  5. td = np.timedelta64(0, "D")
  6. AR_b: np.ndarray[Any, np.dtype[np.bool_]]
  7. AR_u: np.ndarray[Any, np.dtype[np.uint32]]
  8. AR_i: np.ndarray[Any, np.dtype[np.int64]]
  9. AR_f: np.ndarray[Any, np.dtype[np.float64]]
  10. AR_c: np.ndarray[Any, np.dtype[np.complex128]]
  11. AR_m: np.ndarray[Any, np.dtype[np.timedelta64]]
  12. AR_M: np.ndarray[Any, np.dtype[np.datetime64]]
  13. ANY: Any
  14. AR_LIKE_b: list[bool]
  15. AR_LIKE_u: list[np.uint32]
  16. AR_LIKE_i: list[int]
  17. AR_LIKE_f: list[float]
  18. AR_LIKE_c: list[complex]
  19. AR_LIKE_m: list[np.timedelta64]
  20. AR_LIKE_M: list[np.datetime64]
  21. # Array subtraction
  22. # NOTE: mypys `NoReturn` errors are, unfortunately, not that great
  23. _1 = AR_b - AR_LIKE_b # E: Need type annotation
  24. _2 = AR_LIKE_b - AR_b # E: Need type annotation
  25. AR_i - bytes() # E: No overload variant
  26. AR_f - AR_LIKE_m # E: Unsupported operand types
  27. AR_f - AR_LIKE_M # E: Unsupported operand types
  28. AR_c - AR_LIKE_m # E: Unsupported operand types
  29. AR_c - AR_LIKE_M # E: Unsupported operand types
  30. AR_m - AR_LIKE_f # E: Unsupported operand types
  31. AR_M - AR_LIKE_f # E: Unsupported operand types
  32. AR_m - AR_LIKE_c # E: Unsupported operand types
  33. AR_M - AR_LIKE_c # E: Unsupported operand types
  34. AR_m - AR_LIKE_M # E: Unsupported operand types
  35. AR_LIKE_m - AR_M # E: Unsupported operand types
  36. # array floor division
  37. AR_M // AR_LIKE_b # E: Unsupported operand types
  38. AR_M // AR_LIKE_u # E: Unsupported operand types
  39. AR_M // AR_LIKE_i # E: Unsupported operand types
  40. AR_M // AR_LIKE_f # E: Unsupported operand types
  41. AR_M // AR_LIKE_c # E: Unsupported operand types
  42. AR_M // AR_LIKE_m # E: Unsupported operand types
  43. AR_M // AR_LIKE_M # E: Unsupported operand types
  44. AR_b // AR_LIKE_M # E: Unsupported operand types
  45. AR_u // AR_LIKE_M # E: Unsupported operand types
  46. AR_i // AR_LIKE_M # E: Unsupported operand types
  47. AR_f // AR_LIKE_M # E: Unsupported operand types
  48. AR_c // AR_LIKE_M # E: Unsupported operand types
  49. AR_m // AR_LIKE_M # E: Unsupported operand types
  50. AR_M // AR_LIKE_M # E: Unsupported operand types
  51. _3 = AR_m // AR_LIKE_b # E: Need type annotation
  52. AR_m // AR_LIKE_c # E: Unsupported operand types
  53. AR_b // AR_LIKE_m # E: Unsupported operand types
  54. AR_u // AR_LIKE_m # E: Unsupported operand types
  55. AR_i // AR_LIKE_m # E: Unsupported operand types
  56. AR_f // AR_LIKE_m # E: Unsupported operand types
  57. AR_c // AR_LIKE_m # E: Unsupported operand types
  58. # Array multiplication
  59. AR_b *= AR_LIKE_u # E: incompatible type
  60. AR_b *= AR_LIKE_i # E: incompatible type
  61. AR_b *= AR_LIKE_f # E: incompatible type
  62. AR_b *= AR_LIKE_c # E: incompatible type
  63. AR_b *= AR_LIKE_m # E: incompatible type
  64. AR_u *= AR_LIKE_i # E: incompatible type
  65. AR_u *= AR_LIKE_f # E: incompatible type
  66. AR_u *= AR_LIKE_c # E: incompatible type
  67. AR_u *= AR_LIKE_m # E: incompatible type
  68. AR_i *= AR_LIKE_f # E: incompatible type
  69. AR_i *= AR_LIKE_c # E: incompatible type
  70. AR_i *= AR_LIKE_m # E: incompatible type
  71. AR_f *= AR_LIKE_c # E: incompatible type
  72. AR_f *= AR_LIKE_m # E: incompatible type
  73. # Array power
  74. AR_b **= AR_LIKE_b # E: Invalid self argument
  75. AR_b **= AR_LIKE_u # E: Invalid self argument
  76. AR_b **= AR_LIKE_i # E: Invalid self argument
  77. AR_b **= AR_LIKE_f # E: Invalid self argument
  78. AR_b **= AR_LIKE_c # E: Invalid self argument
  79. AR_u **= AR_LIKE_i # E: incompatible type
  80. AR_u **= AR_LIKE_f # E: incompatible type
  81. AR_u **= AR_LIKE_c # E: incompatible type
  82. AR_i **= AR_LIKE_f # E: incompatible type
  83. AR_i **= AR_LIKE_c # E: incompatible type
  84. AR_f **= AR_LIKE_c # E: incompatible type
  85. # Scalars
  86. b_ - b_ # E: No overload variant
  87. dt + dt # E: Unsupported operand types
  88. td - dt # E: Unsupported operand types
  89. td % 1 # E: Unsupported operand types
  90. td / dt # E: No overload
  91. td % dt # E: Unsupported operand types
  92. -b_ # E: Unsupported operand type
  93. +b_ # E: Unsupported operand type