fromnumeric.pyi 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. """Tests for :mod:`core.fromnumeric`."""
  2. import numpy as np
  3. import numpy.typing as npt
  4. class NDArraySubclass(npt.NDArray[np.complex128]):
  5. ...
  6. AR_b: npt.NDArray[np.bool_]
  7. AR_f4: npt.NDArray[np.float32]
  8. AR_c16: npt.NDArray[np.complex128]
  9. AR_u8: npt.NDArray[np.uint64]
  10. AR_i8: npt.NDArray[np.int64]
  11. AR_O: npt.NDArray[np.object_]
  12. AR_subclass: NDArraySubclass
  13. b: np.bool_
  14. f4: np.float32
  15. i8: np.int64
  16. f: float
  17. reveal_type(np.take(b, 0)) # E: bool_
  18. reveal_type(np.take(f4, 0)) # E: {float32}
  19. reveal_type(np.take(f, 0)) # E: Any
  20. reveal_type(np.take(AR_b, 0)) # E: bool_
  21. reveal_type(np.take(AR_f4, 0)) # E: {float32}
  22. reveal_type(np.take(AR_b, [0])) # E: ndarray[Any, dtype[bool_]]
  23. reveal_type(np.take(AR_f4, [0])) # E: ndarray[Any, dtype[{float32}]]
  24. reveal_type(np.take([1], [0])) # E: ndarray[Any, dtype[Any]]
  25. reveal_type(np.take(AR_f4, [0], out=AR_subclass)) # E: NDArraySubclass
  26. reveal_type(np.reshape(b, 1)) # E: ndarray[Any, dtype[bool_]]
  27. reveal_type(np.reshape(f4, 1)) # E: ndarray[Any, dtype[{float32}]]
  28. reveal_type(np.reshape(f, 1)) # E: ndarray[Any, dtype[Any]]
  29. reveal_type(np.reshape(AR_b, 1)) # E: ndarray[Any, dtype[bool_]]
  30. reveal_type(np.reshape(AR_f4, 1)) # E: ndarray[Any, dtype[{float32}]]
  31. reveal_type(np.choose(1, [True, True])) # E: Any
  32. reveal_type(np.choose([1], [True, True])) # E: ndarray[Any, dtype[Any]]
  33. reveal_type(np.choose([1], AR_b)) # E: ndarray[Any, dtype[bool_]]
  34. reveal_type(np.choose([1], AR_b, out=AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  35. reveal_type(np.repeat(b, 1)) # E: ndarray[Any, dtype[bool_]]
  36. reveal_type(np.repeat(f4, 1)) # E: ndarray[Any, dtype[{float32}]]
  37. reveal_type(np.repeat(f, 1)) # E: ndarray[Any, dtype[Any]]
  38. reveal_type(np.repeat(AR_b, 1)) # E: ndarray[Any, dtype[bool_]]
  39. reveal_type(np.repeat(AR_f4, 1)) # E: ndarray[Any, dtype[{float32}]]
  40. # TODO: array_bdd tests for np.put()
  41. reveal_type(np.swapaxes([[0, 1]], 0, 0)) # E: ndarray[Any, dtype[Any]]
  42. reveal_type(np.swapaxes(AR_b, 0, 0)) # E: ndarray[Any, dtype[bool_]]
  43. reveal_type(np.swapaxes(AR_f4, 0, 0)) # E: ndarray[Any, dtype[{float32}]]
  44. reveal_type(np.transpose(b)) # E: ndarray[Any, dtype[bool_]]
  45. reveal_type(np.transpose(f4)) # E: ndarray[Any, dtype[{float32}]]
  46. reveal_type(np.transpose(f)) # E: ndarray[Any, dtype[Any]]
  47. reveal_type(np.transpose(AR_b)) # E: ndarray[Any, dtype[bool_]]
  48. reveal_type(np.transpose(AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  49. reveal_type(np.partition(b, 0, axis=None)) # E: ndarray[Any, dtype[bool_]]
  50. reveal_type(np.partition(f4, 0, axis=None)) # E: ndarray[Any, dtype[{float32}]]
  51. reveal_type(np.partition(f, 0, axis=None)) # E: ndarray[Any, dtype[Any]]
  52. reveal_type(np.partition(AR_b, 0)) # E: ndarray[Any, dtype[bool_]]
  53. reveal_type(np.partition(AR_f4, 0)) # E: ndarray[Any, dtype[{float32}]]
  54. reveal_type(np.argpartition(b, 0)) # E: ndarray[Any, dtype[{intp}]]
  55. reveal_type(np.argpartition(f4, 0)) # E: ndarray[Any, dtype[{intp}]]
  56. reveal_type(np.argpartition(f, 0)) # E: ndarray[Any, dtype[{intp}]]
  57. reveal_type(np.argpartition(AR_b, 0)) # E: ndarray[Any, dtype[{intp}]]
  58. reveal_type(np.argpartition(AR_f4, 0)) # E: ndarray[Any, dtype[{intp}]]
  59. reveal_type(np.sort([2, 1], 0)) # E: ndarray[Any, dtype[Any]]
  60. reveal_type(np.sort(AR_b, 0)) # E: ndarray[Any, dtype[bool_]]
  61. reveal_type(np.sort(AR_f4, 0)) # E: ndarray[Any, dtype[{float32}]]
  62. reveal_type(np.argsort(AR_b, 0)) # E: ndarray[Any, dtype[{intp}]]
  63. reveal_type(np.argsort(AR_f4, 0)) # E: ndarray[Any, dtype[{intp}]]
  64. reveal_type(np.argmax(AR_b)) # E: {intp}
  65. reveal_type(np.argmax(AR_f4)) # E: {intp}
  66. reveal_type(np.argmax(AR_b, axis=0)) # E: Any
  67. reveal_type(np.argmax(AR_f4, axis=0)) # E: Any
  68. reveal_type(np.argmax(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  69. reveal_type(np.argmin(AR_b)) # E: {intp}
  70. reveal_type(np.argmin(AR_f4)) # E: {intp}
  71. reveal_type(np.argmin(AR_b, axis=0)) # E: Any
  72. reveal_type(np.argmin(AR_f4, axis=0)) # E: Any
  73. reveal_type(np.argmin(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  74. reveal_type(np.searchsorted(AR_b[0], 0)) # E: {intp}
  75. reveal_type(np.searchsorted(AR_f4[0], 0)) # E: {intp}
  76. reveal_type(np.searchsorted(AR_b[0], [0])) # E: ndarray[Any, dtype[{intp}]]
  77. reveal_type(np.searchsorted(AR_f4[0], [0])) # E: ndarray[Any, dtype[{intp}]]
  78. reveal_type(np.resize(b, (5, 5))) # E: ndarray[Any, dtype[bool_]]
  79. reveal_type(np.resize(f4, (5, 5))) # E: ndarray[Any, dtype[{float32}]]
  80. reveal_type(np.resize(f, (5, 5))) # E: ndarray[Any, dtype[Any]]
  81. reveal_type(np.resize(AR_b, (5, 5))) # E: ndarray[Any, dtype[bool_]]
  82. reveal_type(np.resize(AR_f4, (5, 5))) # E: ndarray[Any, dtype[{float32}]]
  83. reveal_type(np.squeeze(b)) # E: bool_
  84. reveal_type(np.squeeze(f4)) # E: {float32}
  85. reveal_type(np.squeeze(f)) # E: ndarray[Any, dtype[Any]]
  86. reveal_type(np.squeeze(AR_b)) # E: ndarray[Any, dtype[bool_]]
  87. reveal_type(np.squeeze(AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  88. reveal_type(np.diagonal(AR_b)) # E: ndarray[Any, dtype[bool_]]
  89. reveal_type(np.diagonal(AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  90. reveal_type(np.trace(AR_b)) # E: Any
  91. reveal_type(np.trace(AR_f4)) # E: Any
  92. reveal_type(np.trace(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  93. reveal_type(np.ravel(b)) # E: ndarray[Any, dtype[bool_]]
  94. reveal_type(np.ravel(f4)) # E: ndarray[Any, dtype[{float32}]]
  95. reveal_type(np.ravel(f)) # E: ndarray[Any, dtype[Any]]
  96. reveal_type(np.ravel(AR_b)) # E: ndarray[Any, dtype[bool_]]
  97. reveal_type(np.ravel(AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  98. reveal_type(np.nonzero(b)) # E: tuple[ndarray[Any, dtype[{intp}]], ...]
  99. reveal_type(np.nonzero(f4)) # E: tuple[ndarray[Any, dtype[{intp}]], ...]
  100. reveal_type(np.nonzero(f)) # E: tuple[ndarray[Any, dtype[{intp}]], ...]
  101. reveal_type(np.nonzero(AR_b)) # E: tuple[ndarray[Any, dtype[{intp}]], ...]
  102. reveal_type(np.nonzero(AR_f4)) # E: tuple[ndarray[Any, dtype[{intp}]], ...]
  103. reveal_type(np.shape(b)) # E: tuple[builtins.int, ...]
  104. reveal_type(np.shape(f4)) # E: tuple[builtins.int, ...]
  105. reveal_type(np.shape(f)) # E: tuple[builtins.int, ...]
  106. reveal_type(np.shape(AR_b)) # E: tuple[builtins.int, ...]
  107. reveal_type(np.shape(AR_f4)) # E: tuple[builtins.int, ...]
  108. reveal_type(np.compress([True], b)) # E: ndarray[Any, dtype[bool_]]
  109. reveal_type(np.compress([True], f4)) # E: ndarray[Any, dtype[{float32}]]
  110. reveal_type(np.compress([True], f)) # E: ndarray[Any, dtype[Any]]
  111. reveal_type(np.compress([True], AR_b)) # E: ndarray[Any, dtype[bool_]]
  112. reveal_type(np.compress([True], AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  113. reveal_type(np.clip(b, 0, 1.0)) # E: bool_
  114. reveal_type(np.clip(f4, -1, 1)) # E: {float32}
  115. reveal_type(np.clip(f, 0, 1)) # E: Any
  116. reveal_type(np.clip(AR_b, 0, 1)) # E: ndarray[Any, dtype[bool_]]
  117. reveal_type(np.clip(AR_f4, 0, 1)) # E: ndarray[Any, dtype[{float32}]]
  118. reveal_type(np.clip([0], 0, 1)) # E: ndarray[Any, dtype[Any]]
  119. reveal_type(np.clip(AR_b, 0, 1, out=AR_subclass)) # E: NDArraySubclass
  120. reveal_type(np.sum(b)) # E: bool_
  121. reveal_type(np.sum(f4)) # E: {float32}
  122. reveal_type(np.sum(f)) # E: Any
  123. reveal_type(np.sum(AR_b)) # E: bool_
  124. reveal_type(np.sum(AR_f4)) # E: {float32}
  125. reveal_type(np.sum(AR_b, axis=0)) # E: Any
  126. reveal_type(np.sum(AR_f4, axis=0)) # E: Any
  127. reveal_type(np.sum(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  128. reveal_type(np.all(b)) # E: bool_
  129. reveal_type(np.all(f4)) # E: bool_
  130. reveal_type(np.all(f)) # E: bool_
  131. reveal_type(np.all(AR_b)) # E: bool_
  132. reveal_type(np.all(AR_f4)) # E: bool_
  133. reveal_type(np.all(AR_b, axis=0)) # E: Any
  134. reveal_type(np.all(AR_f4, axis=0)) # E: Any
  135. reveal_type(np.all(AR_b, keepdims=True)) # E: Any
  136. reveal_type(np.all(AR_f4, keepdims=True)) # E: Any
  137. reveal_type(np.all(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  138. reveal_type(np.any(b)) # E: bool_
  139. reveal_type(np.any(f4)) # E: bool_
  140. reveal_type(np.any(f)) # E: bool_
  141. reveal_type(np.any(AR_b)) # E: bool_
  142. reveal_type(np.any(AR_f4)) # E: bool_
  143. reveal_type(np.any(AR_b, axis=0)) # E: Any
  144. reveal_type(np.any(AR_f4, axis=0)) # E: Any
  145. reveal_type(np.any(AR_b, keepdims=True)) # E: Any
  146. reveal_type(np.any(AR_f4, keepdims=True)) # E: Any
  147. reveal_type(np.any(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  148. reveal_type(np.cumsum(b)) # E: ndarray[Any, dtype[bool_]]
  149. reveal_type(np.cumsum(f4)) # E: ndarray[Any, dtype[{float32}]]
  150. reveal_type(np.cumsum(f)) # E: ndarray[Any, dtype[Any]]
  151. reveal_type(np.cumsum(AR_b)) # E: ndarray[Any, dtype[bool_]]
  152. reveal_type(np.cumsum(AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  153. reveal_type(np.cumsum(f, dtype=float)) # E: ndarray[Any, dtype[Any]]
  154. reveal_type(np.cumsum(f, dtype=np.float64)) # E: ndarray[Any, dtype[{float64}]]
  155. reveal_type(np.cumsum(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  156. reveal_type(np.ptp(b)) # E: bool_
  157. reveal_type(np.ptp(f4)) # E: {float32}
  158. reveal_type(np.ptp(f)) # E: Any
  159. reveal_type(np.ptp(AR_b)) # E: bool_
  160. reveal_type(np.ptp(AR_f4)) # E: {float32}
  161. reveal_type(np.ptp(AR_b, axis=0)) # E: Any
  162. reveal_type(np.ptp(AR_f4, axis=0)) # E: Any
  163. reveal_type(np.ptp(AR_b, keepdims=True)) # E: Any
  164. reveal_type(np.ptp(AR_f4, keepdims=True)) # E: Any
  165. reveal_type(np.ptp(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  166. reveal_type(np.amax(b)) # E: bool_
  167. reveal_type(np.amax(f4)) # E: {float32}
  168. reveal_type(np.amax(f)) # E: Any
  169. reveal_type(np.amax(AR_b)) # E: bool_
  170. reveal_type(np.amax(AR_f4)) # E: {float32}
  171. reveal_type(np.amax(AR_b, axis=0)) # E: Any
  172. reveal_type(np.amax(AR_f4, axis=0)) # E: Any
  173. reveal_type(np.amax(AR_b, keepdims=True)) # E: Any
  174. reveal_type(np.amax(AR_f4, keepdims=True)) # E: Any
  175. reveal_type(np.amax(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  176. reveal_type(np.amin(b)) # E: bool_
  177. reveal_type(np.amin(f4)) # E: {float32}
  178. reveal_type(np.amin(f)) # E: Any
  179. reveal_type(np.amin(AR_b)) # E: bool_
  180. reveal_type(np.amin(AR_f4)) # E: {float32}
  181. reveal_type(np.amin(AR_b, axis=0)) # E: Any
  182. reveal_type(np.amin(AR_f4, axis=0)) # E: Any
  183. reveal_type(np.amin(AR_b, keepdims=True)) # E: Any
  184. reveal_type(np.amin(AR_f4, keepdims=True)) # E: Any
  185. reveal_type(np.amin(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  186. reveal_type(np.prod(AR_b)) # E: {int_}
  187. reveal_type(np.prod(AR_u8)) # E: {uint64}
  188. reveal_type(np.prod(AR_i8)) # E: {int64}
  189. reveal_type(np.prod(AR_f4)) # E: floating[Any]
  190. reveal_type(np.prod(AR_c16)) # E: complexfloating[Any, Any]
  191. reveal_type(np.prod(AR_O)) # E: Any
  192. reveal_type(np.prod(AR_f4, axis=0)) # E: Any
  193. reveal_type(np.prod(AR_f4, keepdims=True)) # E: Any
  194. reveal_type(np.prod(AR_f4, dtype=np.float64)) # E: {float64}
  195. reveal_type(np.prod(AR_f4, dtype=float)) # E: Any
  196. reveal_type(np.prod(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  197. reveal_type(np.cumprod(AR_b)) # E: ndarray[Any, dtype[{int_}]]
  198. reveal_type(np.cumprod(AR_u8)) # E: ndarray[Any, dtype[{uint64}]]
  199. reveal_type(np.cumprod(AR_i8)) # E: ndarray[Any, dtype[{int64}]]
  200. reveal_type(np.cumprod(AR_f4)) # E: ndarray[Any, dtype[floating[Any]]]
  201. reveal_type(np.cumprod(AR_c16)) # E: ndarray[Any, dtype[complexfloating[Any, Any]]]
  202. reveal_type(np.cumprod(AR_O)) # E: ndarray[Any, dtype[object_]]
  203. reveal_type(np.cumprod(AR_f4, axis=0)) # E: ndarray[Any, dtype[floating[Any]]]
  204. reveal_type(np.cumprod(AR_f4, dtype=np.float64)) # E: ndarray[Any, dtype[{float64}]]
  205. reveal_type(np.cumprod(AR_f4, dtype=float)) # E: ndarray[Any, dtype[Any]]
  206. reveal_type(np.cumprod(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  207. reveal_type(np.ndim(b)) # E: int
  208. reveal_type(np.ndim(f4)) # E: int
  209. reveal_type(np.ndim(f)) # E: int
  210. reveal_type(np.ndim(AR_b)) # E: int
  211. reveal_type(np.ndim(AR_f4)) # E: int
  212. reveal_type(np.size(b)) # E: int
  213. reveal_type(np.size(f4)) # E: int
  214. reveal_type(np.size(f)) # E: int
  215. reveal_type(np.size(AR_b)) # E: int
  216. reveal_type(np.size(AR_f4)) # E: int
  217. reveal_type(np.around(b)) # E: {float16}
  218. reveal_type(np.around(f)) # E: Any
  219. reveal_type(np.around(i8)) # E: {int64}
  220. reveal_type(np.around(f4)) # E: {float32}
  221. reveal_type(np.around(AR_b)) # E: ndarray[Any, dtype[{float16}]]
  222. reveal_type(np.around(AR_i8)) # E: ndarray[Any, dtype[{int64}]]
  223. reveal_type(np.around(AR_f4)) # E: ndarray[Any, dtype[{float32}]]
  224. reveal_type(np.around([1.5])) # E: ndarray[Any, dtype[Any]]
  225. reveal_type(np.around(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  226. reveal_type(np.mean(AR_b)) # E: floating[Any]
  227. reveal_type(np.mean(AR_i8)) # E: floating[Any]
  228. reveal_type(np.mean(AR_f4)) # E: floating[Any]
  229. reveal_type(np.mean(AR_c16)) # E: complexfloating[Any, Any]
  230. reveal_type(np.mean(AR_O)) # E: Any
  231. reveal_type(np.mean(AR_f4, axis=0)) # E: Any
  232. reveal_type(np.mean(AR_f4, keepdims=True)) # E: Any
  233. reveal_type(np.mean(AR_f4, dtype=float)) # E: Any
  234. reveal_type(np.mean(AR_f4, dtype=np.float64)) # E: {float64}
  235. reveal_type(np.mean(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  236. reveal_type(np.std(AR_b)) # E: floating[Any]
  237. reveal_type(np.std(AR_i8)) # E: floating[Any]
  238. reveal_type(np.std(AR_f4)) # E: floating[Any]
  239. reveal_type(np.std(AR_c16)) # E: floating[Any]
  240. reveal_type(np.std(AR_O)) # E: Any
  241. reveal_type(np.std(AR_f4, axis=0)) # E: Any
  242. reveal_type(np.std(AR_f4, keepdims=True)) # E: Any
  243. reveal_type(np.std(AR_f4, dtype=float)) # E: Any
  244. reveal_type(np.std(AR_f4, dtype=np.float64)) # E: {float64}
  245. reveal_type(np.std(AR_f4, out=AR_subclass)) # E: NDArraySubclass
  246. reveal_type(np.var(AR_b)) # E: floating[Any]
  247. reveal_type(np.var(AR_i8)) # E: floating[Any]
  248. reveal_type(np.var(AR_f4)) # E: floating[Any]
  249. reveal_type(np.var(AR_c16)) # E: floating[Any]
  250. reveal_type(np.var(AR_O)) # E: Any
  251. reveal_type(np.var(AR_f4, axis=0)) # E: Any
  252. reveal_type(np.var(AR_f4, keepdims=True)) # E: Any
  253. reveal_type(np.var(AR_f4, dtype=float)) # E: Any
  254. reveal_type(np.var(AR_f4, dtype=np.float64)) # E: {float64}
  255. reveal_type(np.var(AR_f4, out=AR_subclass)) # E: NDArraySubclass