numpy 2.3.5__cp313-cp313-macosx_14_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of numpy might be problematic. Click here for more details.

Files changed (897) hide show
  1. numpy/__config__.py +170 -0
  2. numpy/__config__.pyi +102 -0
  3. numpy/__init__.cython-30.pxd +1241 -0
  4. numpy/__init__.pxd +1154 -0
  5. numpy/__init__.py +945 -0
  6. numpy/__init__.pyi +6147 -0
  7. numpy/_array_api_info.py +346 -0
  8. numpy/_array_api_info.pyi +207 -0
  9. numpy/_configtool.py +39 -0
  10. numpy/_configtool.pyi +1 -0
  11. numpy/_core/__init__.py +186 -0
  12. numpy/_core/__init__.pyi +2 -0
  13. numpy/_core/_add_newdocs.py +6967 -0
  14. numpy/_core/_add_newdocs.pyi +3 -0
  15. numpy/_core/_add_newdocs_scalars.py +390 -0
  16. numpy/_core/_add_newdocs_scalars.pyi +16 -0
  17. numpy/_core/_asarray.py +134 -0
  18. numpy/_core/_asarray.pyi +41 -0
  19. numpy/_core/_dtype.py +366 -0
  20. numpy/_core/_dtype.pyi +58 -0
  21. numpy/_core/_dtype_ctypes.py +120 -0
  22. numpy/_core/_dtype_ctypes.pyi +83 -0
  23. numpy/_core/_exceptions.py +162 -0
  24. numpy/_core/_exceptions.pyi +55 -0
  25. numpy/_core/_internal.py +958 -0
  26. numpy/_core/_internal.pyi +72 -0
  27. numpy/_core/_machar.py +355 -0
  28. numpy/_core/_machar.pyi +55 -0
  29. numpy/_core/_methods.py +255 -0
  30. numpy/_core/_methods.pyi +22 -0
  31. numpy/_core/_multiarray_tests.cpython-313-darwin.so +0 -0
  32. numpy/_core/_multiarray_umath.cpython-313-darwin.so +0 -0
  33. numpy/_core/_operand_flag_tests.cpython-313-darwin.so +0 -0
  34. numpy/_core/_rational_tests.cpython-313-darwin.so +0 -0
  35. numpy/_core/_simd.cpython-313-darwin.so +0 -0
  36. numpy/_core/_simd.pyi +25 -0
  37. numpy/_core/_string_helpers.py +100 -0
  38. numpy/_core/_string_helpers.pyi +12 -0
  39. numpy/_core/_struct_ufunc_tests.cpython-313-darwin.so +0 -0
  40. numpy/_core/_type_aliases.py +119 -0
  41. numpy/_core/_type_aliases.pyi +97 -0
  42. numpy/_core/_ufunc_config.py +491 -0
  43. numpy/_core/_ufunc_config.pyi +78 -0
  44. numpy/_core/_umath_tests.cpython-313-darwin.so +0 -0
  45. numpy/_core/arrayprint.py +1775 -0
  46. numpy/_core/arrayprint.pyi +238 -0
  47. numpy/_core/cversions.py +13 -0
  48. numpy/_core/defchararray.py +1427 -0
  49. numpy/_core/defchararray.pyi +1135 -0
  50. numpy/_core/einsumfunc.py +1498 -0
  51. numpy/_core/einsumfunc.pyi +184 -0
  52. numpy/_core/fromnumeric.py +4269 -0
  53. numpy/_core/fromnumeric.pyi +1750 -0
  54. numpy/_core/function_base.py +545 -0
  55. numpy/_core/function_base.pyi +278 -0
  56. numpy/_core/getlimits.py +748 -0
  57. numpy/_core/getlimits.pyi +3 -0
  58. numpy/_core/include/numpy/__multiarray_api.c +376 -0
  59. numpy/_core/include/numpy/__multiarray_api.h +1628 -0
  60. numpy/_core/include/numpy/__ufunc_api.c +54 -0
  61. numpy/_core/include/numpy/__ufunc_api.h +341 -0
  62. numpy/_core/include/numpy/_neighborhood_iterator_imp.h +90 -0
  63. numpy/_core/include/numpy/_numpyconfig.h +33 -0
  64. numpy/_core/include/numpy/_public_dtype_api_table.h +86 -0
  65. numpy/_core/include/numpy/arrayobject.h +7 -0
  66. numpy/_core/include/numpy/arrayscalars.h +196 -0
  67. numpy/_core/include/numpy/dtype_api.h +480 -0
  68. numpy/_core/include/numpy/halffloat.h +70 -0
  69. numpy/_core/include/numpy/ndarrayobject.h +304 -0
  70. numpy/_core/include/numpy/ndarraytypes.h +1950 -0
  71. numpy/_core/include/numpy/npy_2_compat.h +249 -0
  72. numpy/_core/include/numpy/npy_2_complexcompat.h +28 -0
  73. numpy/_core/include/numpy/npy_3kcompat.h +374 -0
  74. numpy/_core/include/numpy/npy_common.h +977 -0
  75. numpy/_core/include/numpy/npy_cpu.h +124 -0
  76. numpy/_core/include/numpy/npy_endian.h +78 -0
  77. numpy/_core/include/numpy/npy_math.h +602 -0
  78. numpy/_core/include/numpy/npy_no_deprecated_api.h +20 -0
  79. numpy/_core/include/numpy/npy_os.h +42 -0
  80. numpy/_core/include/numpy/numpyconfig.h +182 -0
  81. numpy/_core/include/numpy/random/LICENSE.txt +21 -0
  82. numpy/_core/include/numpy/random/bitgen.h +20 -0
  83. numpy/_core/include/numpy/random/distributions.h +209 -0
  84. numpy/_core/include/numpy/random/libdivide.h +2079 -0
  85. numpy/_core/include/numpy/ufuncobject.h +343 -0
  86. numpy/_core/include/numpy/utils.h +37 -0
  87. numpy/_core/lib/libnpymath.a +0 -0
  88. numpy/_core/lib/npy-pkg-config/mlib.ini +12 -0
  89. numpy/_core/lib/npy-pkg-config/npymath.ini +20 -0
  90. numpy/_core/lib/pkgconfig/numpy.pc +7 -0
  91. numpy/_core/memmap.py +363 -0
  92. numpy/_core/memmap.pyi +3 -0
  93. numpy/_core/multiarray.py +1762 -0
  94. numpy/_core/multiarray.pyi +1285 -0
  95. numpy/_core/numeric.py +2760 -0
  96. numpy/_core/numeric.pyi +882 -0
  97. numpy/_core/numerictypes.py +633 -0
  98. numpy/_core/numerictypes.pyi +197 -0
  99. numpy/_core/overrides.py +183 -0
  100. numpy/_core/overrides.pyi +48 -0
  101. numpy/_core/printoptions.py +32 -0
  102. numpy/_core/printoptions.pyi +28 -0
  103. numpy/_core/records.py +1089 -0
  104. numpy/_core/records.pyi +333 -0
  105. numpy/_core/shape_base.py +998 -0
  106. numpy/_core/shape_base.pyi +175 -0
  107. numpy/_core/strings.py +1829 -0
  108. numpy/_core/strings.pyi +511 -0
  109. numpy/_core/tests/_locales.py +72 -0
  110. numpy/_core/tests/_natype.py +205 -0
  111. numpy/_core/tests/data/astype_copy.pkl +0 -0
  112. numpy/_core/tests/data/generate_umath_validation_data.cpp +170 -0
  113. numpy/_core/tests/data/recarray_from_file.fits +0 -0
  114. numpy/_core/tests/data/umath-validation-set-README.txt +15 -0
  115. numpy/_core/tests/data/umath-validation-set-arccos.csv +1429 -0
  116. numpy/_core/tests/data/umath-validation-set-arccosh.csv +1429 -0
  117. numpy/_core/tests/data/umath-validation-set-arcsin.csv +1429 -0
  118. numpy/_core/tests/data/umath-validation-set-arcsinh.csv +1429 -0
  119. numpy/_core/tests/data/umath-validation-set-arctan.csv +1429 -0
  120. numpy/_core/tests/data/umath-validation-set-arctanh.csv +1429 -0
  121. numpy/_core/tests/data/umath-validation-set-cbrt.csv +1429 -0
  122. numpy/_core/tests/data/umath-validation-set-cos.csv +1375 -0
  123. numpy/_core/tests/data/umath-validation-set-cosh.csv +1429 -0
  124. numpy/_core/tests/data/umath-validation-set-exp.csv +412 -0
  125. numpy/_core/tests/data/umath-validation-set-exp2.csv +1429 -0
  126. numpy/_core/tests/data/umath-validation-set-expm1.csv +1429 -0
  127. numpy/_core/tests/data/umath-validation-set-log.csv +271 -0
  128. numpy/_core/tests/data/umath-validation-set-log10.csv +1629 -0
  129. numpy/_core/tests/data/umath-validation-set-log1p.csv +1429 -0
  130. numpy/_core/tests/data/umath-validation-set-log2.csv +1629 -0
  131. numpy/_core/tests/data/umath-validation-set-sin.csv +1370 -0
  132. numpy/_core/tests/data/umath-validation-set-sinh.csv +1429 -0
  133. numpy/_core/tests/data/umath-validation-set-tan.csv +1429 -0
  134. numpy/_core/tests/data/umath-validation-set-tanh.csv +1429 -0
  135. numpy/_core/tests/examples/cython/checks.pyx +373 -0
  136. numpy/_core/tests/examples/cython/meson.build +43 -0
  137. numpy/_core/tests/examples/cython/setup.py +39 -0
  138. numpy/_core/tests/examples/limited_api/limited_api1.c +17 -0
  139. numpy/_core/tests/examples/limited_api/limited_api2.pyx +11 -0
  140. numpy/_core/tests/examples/limited_api/limited_api_latest.c +19 -0
  141. numpy/_core/tests/examples/limited_api/meson.build +59 -0
  142. numpy/_core/tests/examples/limited_api/setup.py +24 -0
  143. numpy/_core/tests/test__exceptions.py +90 -0
  144. numpy/_core/tests/test_abc.py +54 -0
  145. numpy/_core/tests/test_api.py +654 -0
  146. numpy/_core/tests/test_argparse.py +92 -0
  147. numpy/_core/tests/test_array_api_info.py +113 -0
  148. numpy/_core/tests/test_array_coercion.py +911 -0
  149. numpy/_core/tests/test_array_interface.py +222 -0
  150. numpy/_core/tests/test_arraymethod.py +84 -0
  151. numpy/_core/tests/test_arrayobject.py +75 -0
  152. numpy/_core/tests/test_arrayprint.py +1328 -0
  153. numpy/_core/tests/test_casting_floatingpoint_errors.py +154 -0
  154. numpy/_core/tests/test_casting_unittests.py +817 -0
  155. numpy/_core/tests/test_conversion_utils.py +206 -0
  156. numpy/_core/tests/test_cpu_dispatcher.py +49 -0
  157. numpy/_core/tests/test_cpu_features.py +432 -0
  158. numpy/_core/tests/test_custom_dtypes.py +315 -0
  159. numpy/_core/tests/test_cython.py +351 -0
  160. numpy/_core/tests/test_datetime.py +2734 -0
  161. numpy/_core/tests/test_defchararray.py +825 -0
  162. numpy/_core/tests/test_deprecations.py +454 -0
  163. numpy/_core/tests/test_dlpack.py +190 -0
  164. numpy/_core/tests/test_dtype.py +1995 -0
  165. numpy/_core/tests/test_einsum.py +1317 -0
  166. numpy/_core/tests/test_errstate.py +131 -0
  167. numpy/_core/tests/test_extint128.py +217 -0
  168. numpy/_core/tests/test_function_base.py +503 -0
  169. numpy/_core/tests/test_getlimits.py +205 -0
  170. numpy/_core/tests/test_half.py +568 -0
  171. numpy/_core/tests/test_hashtable.py +35 -0
  172. numpy/_core/tests/test_indexerrors.py +125 -0
  173. numpy/_core/tests/test_indexing.py +1455 -0
  174. numpy/_core/tests/test_item_selection.py +167 -0
  175. numpy/_core/tests/test_limited_api.py +102 -0
  176. numpy/_core/tests/test_longdouble.py +369 -0
  177. numpy/_core/tests/test_machar.py +30 -0
  178. numpy/_core/tests/test_mem_overlap.py +930 -0
  179. numpy/_core/tests/test_mem_policy.py +452 -0
  180. numpy/_core/tests/test_memmap.py +246 -0
  181. numpy/_core/tests/test_multiarray.py +10577 -0
  182. numpy/_core/tests/test_multithreading.py +292 -0
  183. numpy/_core/tests/test_nditer.py +3498 -0
  184. numpy/_core/tests/test_nep50_promotions.py +287 -0
  185. numpy/_core/tests/test_numeric.py +4247 -0
  186. numpy/_core/tests/test_numerictypes.py +651 -0
  187. numpy/_core/tests/test_overrides.py +791 -0
  188. numpy/_core/tests/test_print.py +200 -0
  189. numpy/_core/tests/test_protocols.py +46 -0
  190. numpy/_core/tests/test_records.py +544 -0
  191. numpy/_core/tests/test_regression.py +2670 -0
  192. numpy/_core/tests/test_scalar_ctors.py +207 -0
  193. numpy/_core/tests/test_scalar_methods.py +246 -0
  194. numpy/_core/tests/test_scalarbuffer.py +153 -0
  195. numpy/_core/tests/test_scalarinherit.py +105 -0
  196. numpy/_core/tests/test_scalarmath.py +1176 -0
  197. numpy/_core/tests/test_scalarprint.py +403 -0
  198. numpy/_core/tests/test_shape_base.py +891 -0
  199. numpy/_core/tests/test_simd.py +1341 -0
  200. numpy/_core/tests/test_simd_module.py +103 -0
  201. numpy/_core/tests/test_stringdtype.py +1814 -0
  202. numpy/_core/tests/test_strings.py +1499 -0
  203. numpy/_core/tests/test_ufunc.py +3313 -0
  204. numpy/_core/tests/test_umath.py +4928 -0
  205. numpy/_core/tests/test_umath_accuracy.py +124 -0
  206. numpy/_core/tests/test_umath_complex.py +626 -0
  207. numpy/_core/tests/test_unicode.py +368 -0
  208. numpy/_core/umath.py +60 -0
  209. numpy/_core/umath.pyi +197 -0
  210. numpy/_distributor_init.py +15 -0
  211. numpy/_distributor_init.pyi +1 -0
  212. numpy/_expired_attrs_2_0.py +79 -0
  213. numpy/_expired_attrs_2_0.pyi +62 -0
  214. numpy/_globals.py +96 -0
  215. numpy/_globals.pyi +17 -0
  216. numpy/_pyinstaller/__init__.py +0 -0
  217. numpy/_pyinstaller/__init__.pyi +0 -0
  218. numpy/_pyinstaller/hook-numpy.py +36 -0
  219. numpy/_pyinstaller/hook-numpy.pyi +13 -0
  220. numpy/_pyinstaller/tests/__init__.py +16 -0
  221. numpy/_pyinstaller/tests/pyinstaller-smoke.py +32 -0
  222. numpy/_pyinstaller/tests/test_pyinstaller.py +35 -0
  223. numpy/_pytesttester.py +201 -0
  224. numpy/_pytesttester.pyi +18 -0
  225. numpy/_typing/__init__.py +148 -0
  226. numpy/_typing/_add_docstring.py +153 -0
  227. numpy/_typing/_array_like.py +106 -0
  228. numpy/_typing/_char_codes.py +213 -0
  229. numpy/_typing/_dtype_like.py +114 -0
  230. numpy/_typing/_extended_precision.py +15 -0
  231. numpy/_typing/_nbit.py +19 -0
  232. numpy/_typing/_nbit_base.py +94 -0
  233. numpy/_typing/_nbit_base.pyi +40 -0
  234. numpy/_typing/_nested_sequence.py +79 -0
  235. numpy/_typing/_scalars.py +20 -0
  236. numpy/_typing/_shape.py +8 -0
  237. numpy/_typing/_ufunc.py +7 -0
  238. numpy/_typing/_ufunc.pyi +941 -0
  239. numpy/_utils/__init__.py +95 -0
  240. numpy/_utils/__init__.pyi +30 -0
  241. numpy/_utils/_convertions.py +18 -0
  242. numpy/_utils/_convertions.pyi +4 -0
  243. numpy/_utils/_inspect.py +192 -0
  244. numpy/_utils/_inspect.pyi +71 -0
  245. numpy/_utils/_pep440.py +486 -0
  246. numpy/_utils/_pep440.pyi +121 -0
  247. numpy/char/__init__.py +2 -0
  248. numpy/char/__init__.pyi +111 -0
  249. numpy/conftest.py +258 -0
  250. numpy/core/__init__.py +33 -0
  251. numpy/core/__init__.pyi +0 -0
  252. numpy/core/_dtype.py +10 -0
  253. numpy/core/_dtype.pyi +0 -0
  254. numpy/core/_dtype_ctypes.py +10 -0
  255. numpy/core/_dtype_ctypes.pyi +0 -0
  256. numpy/core/_internal.py +27 -0
  257. numpy/core/_multiarray_umath.py +57 -0
  258. numpy/core/_utils.py +21 -0
  259. numpy/core/arrayprint.py +10 -0
  260. numpy/core/defchararray.py +10 -0
  261. numpy/core/einsumfunc.py +10 -0
  262. numpy/core/fromnumeric.py +10 -0
  263. numpy/core/function_base.py +10 -0
  264. numpy/core/getlimits.py +10 -0
  265. numpy/core/multiarray.py +25 -0
  266. numpy/core/numeric.py +12 -0
  267. numpy/core/numerictypes.py +10 -0
  268. numpy/core/overrides.py +10 -0
  269. numpy/core/overrides.pyi +7 -0
  270. numpy/core/records.py +10 -0
  271. numpy/core/shape_base.py +10 -0
  272. numpy/core/umath.py +10 -0
  273. numpy/ctypeslib/__init__.py +13 -0
  274. numpy/ctypeslib/__init__.pyi +33 -0
  275. numpy/ctypeslib/_ctypeslib.py +603 -0
  276. numpy/ctypeslib/_ctypeslib.pyi +245 -0
  277. numpy/doc/ufuncs.py +138 -0
  278. numpy/dtypes.py +41 -0
  279. numpy/dtypes.pyi +631 -0
  280. numpy/exceptions.py +247 -0
  281. numpy/exceptions.pyi +27 -0
  282. numpy/f2py/__init__.py +86 -0
  283. numpy/f2py/__init__.pyi +6 -0
  284. numpy/f2py/__main__.py +5 -0
  285. numpy/f2py/__version__.py +1 -0
  286. numpy/f2py/__version__.pyi +1 -0
  287. numpy/f2py/_backends/__init__.py +9 -0
  288. numpy/f2py/_backends/__init__.pyi +5 -0
  289. numpy/f2py/_backends/_backend.py +44 -0
  290. numpy/f2py/_backends/_backend.pyi +46 -0
  291. numpy/f2py/_backends/_distutils.py +76 -0
  292. numpy/f2py/_backends/_distutils.pyi +13 -0
  293. numpy/f2py/_backends/_meson.py +231 -0
  294. numpy/f2py/_backends/_meson.pyi +63 -0
  295. numpy/f2py/_backends/meson.build.template +55 -0
  296. numpy/f2py/_isocbind.py +62 -0
  297. numpy/f2py/_isocbind.pyi +13 -0
  298. numpy/f2py/_src_pyf.py +247 -0
  299. numpy/f2py/_src_pyf.pyi +29 -0
  300. numpy/f2py/auxfuncs.py +1004 -0
  301. numpy/f2py/auxfuncs.pyi +264 -0
  302. numpy/f2py/capi_maps.py +811 -0
  303. numpy/f2py/capi_maps.pyi +33 -0
  304. numpy/f2py/cb_rules.py +665 -0
  305. numpy/f2py/cb_rules.pyi +17 -0
  306. numpy/f2py/cfuncs.py +1563 -0
  307. numpy/f2py/cfuncs.pyi +31 -0
  308. numpy/f2py/common_rules.py +143 -0
  309. numpy/f2py/common_rules.pyi +9 -0
  310. numpy/f2py/crackfortran.py +3725 -0
  311. numpy/f2py/crackfortran.pyi +258 -0
  312. numpy/f2py/diagnose.py +149 -0
  313. numpy/f2py/diagnose.pyi +1 -0
  314. numpy/f2py/f2py2e.py +786 -0
  315. numpy/f2py/f2py2e.pyi +76 -0
  316. numpy/f2py/f90mod_rules.py +269 -0
  317. numpy/f2py/f90mod_rules.pyi +16 -0
  318. numpy/f2py/func2subr.py +329 -0
  319. numpy/f2py/func2subr.pyi +7 -0
  320. numpy/f2py/rules.py +1629 -0
  321. numpy/f2py/rules.pyi +43 -0
  322. numpy/f2py/setup.cfg +3 -0
  323. numpy/f2py/src/fortranobject.c +1436 -0
  324. numpy/f2py/src/fortranobject.h +173 -0
  325. numpy/f2py/symbolic.py +1516 -0
  326. numpy/f2py/symbolic.pyi +221 -0
  327. numpy/f2py/tests/__init__.py +16 -0
  328. numpy/f2py/tests/src/abstract_interface/foo.f90 +34 -0
  329. numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 +6 -0
  330. numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +235 -0
  331. numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +1 -0
  332. numpy/f2py/tests/src/assumed_shape/foo_free.f90 +34 -0
  333. numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +41 -0
  334. numpy/f2py/tests/src/assumed_shape/foo_use.f90 +19 -0
  335. numpy/f2py/tests/src/assumed_shape/precision.f90 +4 -0
  336. numpy/f2py/tests/src/block_docstring/foo.f +6 -0
  337. numpy/f2py/tests/src/callback/foo.f +62 -0
  338. numpy/f2py/tests/src/callback/gh17797.f90 +7 -0
  339. numpy/f2py/tests/src/callback/gh18335.f90 +17 -0
  340. numpy/f2py/tests/src/callback/gh25211.f +10 -0
  341. numpy/f2py/tests/src/callback/gh25211.pyf +18 -0
  342. numpy/f2py/tests/src/callback/gh26681.f90 +18 -0
  343. numpy/f2py/tests/src/cli/gh_22819.pyf +6 -0
  344. numpy/f2py/tests/src/cli/hi77.f +3 -0
  345. numpy/f2py/tests/src/cli/hiworld.f90 +3 -0
  346. numpy/f2py/tests/src/common/block.f +11 -0
  347. numpy/f2py/tests/src/common/gh19161.f90 +10 -0
  348. numpy/f2py/tests/src/crackfortran/accesstype.f90 +13 -0
  349. numpy/f2py/tests/src/crackfortran/common_with_division.f +17 -0
  350. numpy/f2py/tests/src/crackfortran/data_common.f +8 -0
  351. numpy/f2py/tests/src/crackfortran/data_multiplier.f +5 -0
  352. numpy/f2py/tests/src/crackfortran/data_stmts.f90 +20 -0
  353. numpy/f2py/tests/src/crackfortran/data_with_comments.f +8 -0
  354. numpy/f2py/tests/src/crackfortran/foo_deps.f90 +6 -0
  355. numpy/f2py/tests/src/crackfortran/gh15035.f +16 -0
  356. numpy/f2py/tests/src/crackfortran/gh17859.f +12 -0
  357. numpy/f2py/tests/src/crackfortran/gh22648.pyf +7 -0
  358. numpy/f2py/tests/src/crackfortran/gh23533.f +5 -0
  359. numpy/f2py/tests/src/crackfortran/gh23598.f90 +4 -0
  360. numpy/f2py/tests/src/crackfortran/gh23598Warn.f90 +11 -0
  361. numpy/f2py/tests/src/crackfortran/gh23879.f90 +20 -0
  362. numpy/f2py/tests/src/crackfortran/gh27697.f90 +12 -0
  363. numpy/f2py/tests/src/crackfortran/gh2848.f90 +13 -0
  364. numpy/f2py/tests/src/crackfortran/operators.f90 +49 -0
  365. numpy/f2py/tests/src/crackfortran/privatemod.f90 +11 -0
  366. numpy/f2py/tests/src/crackfortran/publicmod.f90 +10 -0
  367. numpy/f2py/tests/src/crackfortran/pubprivmod.f90 +10 -0
  368. numpy/f2py/tests/src/crackfortran/unicode_comment.f90 +4 -0
  369. numpy/f2py/tests/src/f2cmap/.f2py_f2cmap +1 -0
  370. numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 +9 -0
  371. numpy/f2py/tests/src/isocintrin/isoCtests.f90 +34 -0
  372. numpy/f2py/tests/src/kind/foo.f90 +20 -0
  373. numpy/f2py/tests/src/mixed/foo.f +5 -0
  374. numpy/f2py/tests/src/mixed/foo_fixed.f90 +8 -0
  375. numpy/f2py/tests/src/mixed/foo_free.f90 +8 -0
  376. numpy/f2py/tests/src/modules/gh25337/data.f90 +8 -0
  377. numpy/f2py/tests/src/modules/gh25337/use_data.f90 +6 -0
  378. numpy/f2py/tests/src/modules/gh26920/two_mods_with_no_public_entities.f90 +21 -0
  379. numpy/f2py/tests/src/modules/gh26920/two_mods_with_one_public_routine.f90 +21 -0
  380. numpy/f2py/tests/src/modules/module_data_docstring.f90 +12 -0
  381. numpy/f2py/tests/src/modules/use_modules.f90 +20 -0
  382. numpy/f2py/tests/src/negative_bounds/issue_20853.f90 +7 -0
  383. numpy/f2py/tests/src/parameter/constant_array.f90 +45 -0
  384. numpy/f2py/tests/src/parameter/constant_both.f90 +57 -0
  385. numpy/f2py/tests/src/parameter/constant_compound.f90 +15 -0
  386. numpy/f2py/tests/src/parameter/constant_integer.f90 +22 -0
  387. numpy/f2py/tests/src/parameter/constant_non_compound.f90 +23 -0
  388. numpy/f2py/tests/src/parameter/constant_real.f90 +23 -0
  389. numpy/f2py/tests/src/quoted_character/foo.f +14 -0
  390. numpy/f2py/tests/src/regression/AB.inc +1 -0
  391. numpy/f2py/tests/src/regression/assignOnlyModule.f90 +25 -0
  392. numpy/f2py/tests/src/regression/datonly.f90 +17 -0
  393. numpy/f2py/tests/src/regression/f77comments.f +26 -0
  394. numpy/f2py/tests/src/regression/f77fixedform.f95 +5 -0
  395. numpy/f2py/tests/src/regression/f90continuation.f90 +9 -0
  396. numpy/f2py/tests/src/regression/incfile.f90 +5 -0
  397. numpy/f2py/tests/src/regression/inout.f90 +9 -0
  398. numpy/f2py/tests/src/regression/lower_f2py_fortran.f90 +5 -0
  399. numpy/f2py/tests/src/regression/mod_derived_types.f90 +23 -0
  400. numpy/f2py/tests/src/return_character/foo77.f +45 -0
  401. numpy/f2py/tests/src/return_character/foo90.f90 +48 -0
  402. numpy/f2py/tests/src/return_complex/foo77.f +45 -0
  403. numpy/f2py/tests/src/return_complex/foo90.f90 +48 -0
  404. numpy/f2py/tests/src/return_integer/foo77.f +56 -0
  405. numpy/f2py/tests/src/return_integer/foo90.f90 +59 -0
  406. numpy/f2py/tests/src/return_logical/foo77.f +56 -0
  407. numpy/f2py/tests/src/return_logical/foo90.f90 +59 -0
  408. numpy/f2py/tests/src/return_real/foo77.f +45 -0
  409. numpy/f2py/tests/src/return_real/foo90.f90 +48 -0
  410. numpy/f2py/tests/src/routines/funcfortranname.f +5 -0
  411. numpy/f2py/tests/src/routines/funcfortranname.pyf +11 -0
  412. numpy/f2py/tests/src/routines/subrout.f +4 -0
  413. numpy/f2py/tests/src/routines/subrout.pyf +10 -0
  414. numpy/f2py/tests/src/size/foo.f90 +44 -0
  415. numpy/f2py/tests/src/string/char.f90 +29 -0
  416. numpy/f2py/tests/src/string/fixed_string.f90 +34 -0
  417. numpy/f2py/tests/src/string/gh24008.f +8 -0
  418. numpy/f2py/tests/src/string/gh24662.f90 +7 -0
  419. numpy/f2py/tests/src/string/gh25286.f90 +14 -0
  420. numpy/f2py/tests/src/string/gh25286.pyf +12 -0
  421. numpy/f2py/tests/src/string/gh25286_bc.pyf +12 -0
  422. numpy/f2py/tests/src/string/scalar_string.f90 +9 -0
  423. numpy/f2py/tests/src/string/string.f +12 -0
  424. numpy/f2py/tests/src/value_attrspec/gh21665.f90 +9 -0
  425. numpy/f2py/tests/test_abstract_interface.py +26 -0
  426. numpy/f2py/tests/test_array_from_pyobj.py +678 -0
  427. numpy/f2py/tests/test_assumed_shape.py +50 -0
  428. numpy/f2py/tests/test_block_docstring.py +20 -0
  429. numpy/f2py/tests/test_callback.py +263 -0
  430. numpy/f2py/tests/test_character.py +641 -0
  431. numpy/f2py/tests/test_common.py +23 -0
  432. numpy/f2py/tests/test_crackfortran.py +421 -0
  433. numpy/f2py/tests/test_data.py +71 -0
  434. numpy/f2py/tests/test_docs.py +64 -0
  435. numpy/f2py/tests/test_f2cmap.py +17 -0
  436. numpy/f2py/tests/test_f2py2e.py +964 -0
  437. numpy/f2py/tests/test_isoc.py +56 -0
  438. numpy/f2py/tests/test_kind.py +53 -0
  439. numpy/f2py/tests/test_mixed.py +35 -0
  440. numpy/f2py/tests/test_modules.py +83 -0
  441. numpy/f2py/tests/test_parameter.py +129 -0
  442. numpy/f2py/tests/test_pyf_src.py +43 -0
  443. numpy/f2py/tests/test_quoted_character.py +18 -0
  444. numpy/f2py/tests/test_regression.py +187 -0
  445. numpy/f2py/tests/test_return_character.py +48 -0
  446. numpy/f2py/tests/test_return_complex.py +67 -0
  447. numpy/f2py/tests/test_return_integer.py +55 -0
  448. numpy/f2py/tests/test_return_logical.py +65 -0
  449. numpy/f2py/tests/test_return_real.py +109 -0
  450. numpy/f2py/tests/test_routines.py +29 -0
  451. numpy/f2py/tests/test_semicolon_split.py +75 -0
  452. numpy/f2py/tests/test_size.py +45 -0
  453. numpy/f2py/tests/test_string.py +100 -0
  454. numpy/f2py/tests/test_symbolic.py +495 -0
  455. numpy/f2py/tests/test_value_attrspec.py +15 -0
  456. numpy/f2py/tests/util.py +442 -0
  457. numpy/f2py/use_rules.py +99 -0
  458. numpy/f2py/use_rules.pyi +9 -0
  459. numpy/fft/__init__.py +215 -0
  460. numpy/fft/__init__.pyi +43 -0
  461. numpy/fft/_helper.py +235 -0
  462. numpy/fft/_helper.pyi +45 -0
  463. numpy/fft/_pocketfft.py +1693 -0
  464. numpy/fft/_pocketfft.pyi +138 -0
  465. numpy/fft/_pocketfft_umath.cpython-313-darwin.so +0 -0
  466. numpy/fft/helper.py +17 -0
  467. numpy/fft/helper.pyi +22 -0
  468. numpy/fft/tests/__init__.py +0 -0
  469. numpy/fft/tests/test_helper.py +167 -0
  470. numpy/fft/tests/test_pocketfft.py +589 -0
  471. numpy/lib/__init__.py +97 -0
  472. numpy/lib/__init__.pyi +44 -0
  473. numpy/lib/_array_utils_impl.py +62 -0
  474. numpy/lib/_array_utils_impl.pyi +26 -0
  475. numpy/lib/_arraypad_impl.py +890 -0
  476. numpy/lib/_arraypad_impl.pyi +89 -0
  477. numpy/lib/_arraysetops_impl.py +1260 -0
  478. numpy/lib/_arraysetops_impl.pyi +468 -0
  479. numpy/lib/_arrayterator_impl.py +224 -0
  480. numpy/lib/_arrayterator_impl.pyi +46 -0
  481. numpy/lib/_datasource.py +700 -0
  482. numpy/lib/_datasource.pyi +31 -0
  483. numpy/lib/_format_impl.py +1036 -0
  484. numpy/lib/_format_impl.pyi +26 -0
  485. numpy/lib/_function_base_impl.py +5844 -0
  486. numpy/lib/_function_base_impl.pyi +1164 -0
  487. numpy/lib/_histograms_impl.py +1085 -0
  488. numpy/lib/_histograms_impl.pyi +50 -0
  489. numpy/lib/_index_tricks_impl.py +1067 -0
  490. numpy/lib/_index_tricks_impl.pyi +208 -0
  491. numpy/lib/_iotools.py +900 -0
  492. numpy/lib/_iotools.pyi +114 -0
  493. numpy/lib/_nanfunctions_impl.py +2024 -0
  494. numpy/lib/_nanfunctions_impl.pyi +52 -0
  495. numpy/lib/_npyio_impl.py +2596 -0
  496. numpy/lib/_npyio_impl.pyi +301 -0
  497. numpy/lib/_polynomial_impl.py +1465 -0
  498. numpy/lib/_polynomial_impl.pyi +318 -0
  499. numpy/lib/_scimath_impl.py +642 -0
  500. numpy/lib/_scimath_impl.pyi +93 -0
  501. numpy/lib/_shape_base_impl.py +1301 -0
  502. numpy/lib/_shape_base_impl.pyi +235 -0
  503. numpy/lib/_stride_tricks_impl.py +549 -0
  504. numpy/lib/_stride_tricks_impl.pyi +74 -0
  505. numpy/lib/_twodim_base_impl.py +1201 -0
  506. numpy/lib/_twodim_base_impl.pyi +438 -0
  507. numpy/lib/_type_check_impl.py +699 -0
  508. numpy/lib/_type_check_impl.pyi +350 -0
  509. numpy/lib/_ufunclike_impl.py +207 -0
  510. numpy/lib/_ufunclike_impl.pyi +67 -0
  511. numpy/lib/_user_array_impl.py +299 -0
  512. numpy/lib/_user_array_impl.pyi +225 -0
  513. numpy/lib/_utils_impl.py +784 -0
  514. numpy/lib/_utils_impl.pyi +10 -0
  515. numpy/lib/_version.py +154 -0
  516. numpy/lib/_version.pyi +17 -0
  517. numpy/lib/array_utils.py +7 -0
  518. numpy/lib/array_utils.pyi +12 -0
  519. numpy/lib/format.py +24 -0
  520. numpy/lib/format.pyi +66 -0
  521. numpy/lib/introspect.py +95 -0
  522. numpy/lib/introspect.pyi +3 -0
  523. numpy/lib/mixins.py +180 -0
  524. numpy/lib/mixins.pyi +77 -0
  525. numpy/lib/npyio.py +1 -0
  526. numpy/lib/npyio.pyi +9 -0
  527. numpy/lib/recfunctions.py +1681 -0
  528. numpy/lib/recfunctions.pyi +435 -0
  529. numpy/lib/scimath.py +13 -0
  530. numpy/lib/scimath.pyi +30 -0
  531. numpy/lib/stride_tricks.py +1 -0
  532. numpy/lib/stride_tricks.pyi +6 -0
  533. numpy/lib/tests/__init__.py +0 -0
  534. numpy/lib/tests/data/py2-np0-objarr.npy +0 -0
  535. numpy/lib/tests/data/py2-objarr.npy +0 -0
  536. numpy/lib/tests/data/py2-objarr.npz +0 -0
  537. numpy/lib/tests/data/py3-objarr.npy +0 -0
  538. numpy/lib/tests/data/py3-objarr.npz +0 -0
  539. numpy/lib/tests/data/python3.npy +0 -0
  540. numpy/lib/tests/data/win64python2.npy +0 -0
  541. numpy/lib/tests/test__datasource.py +352 -0
  542. numpy/lib/tests/test__iotools.py +360 -0
  543. numpy/lib/tests/test__version.py +64 -0
  544. numpy/lib/tests/test_array_utils.py +32 -0
  545. numpy/lib/tests/test_arraypad.py +1415 -0
  546. numpy/lib/tests/test_arraysetops.py +1074 -0
  547. numpy/lib/tests/test_arrayterator.py +46 -0
  548. numpy/lib/tests/test_format.py +1054 -0
  549. numpy/lib/tests/test_function_base.py +4573 -0
  550. numpy/lib/tests/test_histograms.py +855 -0
  551. numpy/lib/tests/test_index_tricks.py +573 -0
  552. numpy/lib/tests/test_io.py +2848 -0
  553. numpy/lib/tests/test_loadtxt.py +1101 -0
  554. numpy/lib/tests/test_mixins.py +215 -0
  555. numpy/lib/tests/test_nanfunctions.py +1438 -0
  556. numpy/lib/tests/test_packbits.py +376 -0
  557. numpy/lib/tests/test_polynomial.py +320 -0
  558. numpy/lib/tests/test_recfunctions.py +1052 -0
  559. numpy/lib/tests/test_regression.py +231 -0
  560. numpy/lib/tests/test_shape_base.py +813 -0
  561. numpy/lib/tests/test_stride_tricks.py +656 -0
  562. numpy/lib/tests/test_twodim_base.py +559 -0
  563. numpy/lib/tests/test_type_check.py +473 -0
  564. numpy/lib/tests/test_ufunclike.py +97 -0
  565. numpy/lib/tests/test_utils.py +80 -0
  566. numpy/lib/user_array.py +1 -0
  567. numpy/lib/user_array.pyi +1 -0
  568. numpy/linalg/__init__.py +98 -0
  569. numpy/linalg/__init__.pyi +73 -0
  570. numpy/linalg/_linalg.py +3682 -0
  571. numpy/linalg/_linalg.pyi +475 -0
  572. numpy/linalg/_umath_linalg.cpython-313-darwin.so +0 -0
  573. numpy/linalg/_umath_linalg.pyi +61 -0
  574. numpy/linalg/lapack_lite.cpython-313-darwin.so +0 -0
  575. numpy/linalg/lapack_lite.pyi +141 -0
  576. numpy/linalg/linalg.py +17 -0
  577. numpy/linalg/linalg.pyi +69 -0
  578. numpy/linalg/tests/__init__.py +0 -0
  579. numpy/linalg/tests/test_deprecations.py +20 -0
  580. numpy/linalg/tests/test_linalg.py +2443 -0
  581. numpy/linalg/tests/test_regression.py +181 -0
  582. numpy/ma/API_CHANGES.txt +135 -0
  583. numpy/ma/LICENSE +24 -0
  584. numpy/ma/README.rst +236 -0
  585. numpy/ma/__init__.py +53 -0
  586. numpy/ma/__init__.pyi +458 -0
  587. numpy/ma/core.py +8933 -0
  588. numpy/ma/core.pyi +1462 -0
  589. numpy/ma/extras.py +2344 -0
  590. numpy/ma/extras.pyi +138 -0
  591. numpy/ma/mrecords.py +773 -0
  592. numpy/ma/mrecords.pyi +96 -0
  593. numpy/ma/tests/__init__.py +0 -0
  594. numpy/ma/tests/test_arrayobject.py +40 -0
  595. numpy/ma/tests/test_core.py +5886 -0
  596. numpy/ma/tests/test_deprecations.py +87 -0
  597. numpy/ma/tests/test_extras.py +1998 -0
  598. numpy/ma/tests/test_mrecords.py +497 -0
  599. numpy/ma/tests/test_old_ma.py +942 -0
  600. numpy/ma/tests/test_regression.py +100 -0
  601. numpy/ma/tests/test_subclassing.py +469 -0
  602. numpy/ma/testutils.py +294 -0
  603. numpy/matlib.py +380 -0
  604. numpy/matlib.pyi +582 -0
  605. numpy/matrixlib/__init__.py +12 -0
  606. numpy/matrixlib/__init__.pyi +5 -0
  607. numpy/matrixlib/defmatrix.py +1119 -0
  608. numpy/matrixlib/defmatrix.pyi +17 -0
  609. numpy/matrixlib/tests/__init__.py +0 -0
  610. numpy/matrixlib/tests/test_defmatrix.py +455 -0
  611. numpy/matrixlib/tests/test_interaction.py +360 -0
  612. numpy/matrixlib/tests/test_masked_matrix.py +240 -0
  613. numpy/matrixlib/tests/test_matrix_linalg.py +105 -0
  614. numpy/matrixlib/tests/test_multiarray.py +17 -0
  615. numpy/matrixlib/tests/test_numeric.py +18 -0
  616. numpy/matrixlib/tests/test_regression.py +31 -0
  617. numpy/polynomial/__init__.py +187 -0
  618. numpy/polynomial/__init__.pyi +25 -0
  619. numpy/polynomial/_polybase.py +1191 -0
  620. numpy/polynomial/_polybase.pyi +285 -0
  621. numpy/polynomial/_polytypes.pyi +892 -0
  622. numpy/polynomial/chebyshev.py +2003 -0
  623. numpy/polynomial/chebyshev.pyi +181 -0
  624. numpy/polynomial/hermite.py +1740 -0
  625. numpy/polynomial/hermite.pyi +107 -0
  626. numpy/polynomial/hermite_e.py +1642 -0
  627. numpy/polynomial/hermite_e.pyi +107 -0
  628. numpy/polynomial/laguerre.py +1675 -0
  629. numpy/polynomial/laguerre.pyi +100 -0
  630. numpy/polynomial/legendre.py +1605 -0
  631. numpy/polynomial/legendre.pyi +100 -0
  632. numpy/polynomial/polynomial.py +1616 -0
  633. numpy/polynomial/polynomial.pyi +89 -0
  634. numpy/polynomial/polyutils.py +759 -0
  635. numpy/polynomial/polyutils.pyi +423 -0
  636. numpy/polynomial/tests/__init__.py +0 -0
  637. numpy/polynomial/tests/test_chebyshev.py +623 -0
  638. numpy/polynomial/tests/test_classes.py +618 -0
  639. numpy/polynomial/tests/test_hermite.py +558 -0
  640. numpy/polynomial/tests/test_hermite_e.py +559 -0
  641. numpy/polynomial/tests/test_laguerre.py +540 -0
  642. numpy/polynomial/tests/test_legendre.py +571 -0
  643. numpy/polynomial/tests/test_polynomial.py +669 -0
  644. numpy/polynomial/tests/test_polyutils.py +128 -0
  645. numpy/polynomial/tests/test_printing.py +555 -0
  646. numpy/polynomial/tests/test_symbol.py +217 -0
  647. numpy/py.typed +0 -0
  648. numpy/random/LICENSE.md +71 -0
  649. numpy/random/__init__.pxd +14 -0
  650. numpy/random/__init__.py +213 -0
  651. numpy/random/__init__.pyi +124 -0
  652. numpy/random/_bounded_integers.cpython-313-darwin.so +0 -0
  653. numpy/random/_bounded_integers.pxd +29 -0
  654. numpy/random/_bounded_integers.pyi +1 -0
  655. numpy/random/_common.cpython-313-darwin.so +0 -0
  656. numpy/random/_common.pxd +107 -0
  657. numpy/random/_common.pyi +16 -0
  658. numpy/random/_examples/cffi/extending.py +44 -0
  659. numpy/random/_examples/cffi/parse.py +53 -0
  660. numpy/random/_examples/cython/extending.pyx +77 -0
  661. numpy/random/_examples/cython/extending_distributions.pyx +118 -0
  662. numpy/random/_examples/cython/meson.build +53 -0
  663. numpy/random/_examples/numba/extending.py +86 -0
  664. numpy/random/_examples/numba/extending_distributions.py +67 -0
  665. numpy/random/_generator.cpython-313-darwin.so +0 -0
  666. numpy/random/_generator.pyi +861 -0
  667. numpy/random/_mt19937.cpython-313-darwin.so +0 -0
  668. numpy/random/_mt19937.pyi +25 -0
  669. numpy/random/_pcg64.cpython-313-darwin.so +0 -0
  670. numpy/random/_pcg64.pyi +44 -0
  671. numpy/random/_philox.cpython-313-darwin.so +0 -0
  672. numpy/random/_philox.pyi +39 -0
  673. numpy/random/_pickle.py +88 -0
  674. numpy/random/_pickle.pyi +43 -0
  675. numpy/random/_sfc64.cpython-313-darwin.so +0 -0
  676. numpy/random/_sfc64.pyi +28 -0
  677. numpy/random/bit_generator.cpython-313-darwin.so +0 -0
  678. numpy/random/bit_generator.pxd +35 -0
  679. numpy/random/bit_generator.pyi +124 -0
  680. numpy/random/c_distributions.pxd +119 -0
  681. numpy/random/lib/libnpyrandom.a +0 -0
  682. numpy/random/mtrand.cpython-313-darwin.so +0 -0
  683. numpy/random/mtrand.pyi +703 -0
  684. numpy/random/tests/__init__.py +0 -0
  685. numpy/random/tests/data/__init__.py +0 -0
  686. numpy/random/tests/data/generator_pcg64_np121.pkl.gz +0 -0
  687. numpy/random/tests/data/generator_pcg64_np126.pkl.gz +0 -0
  688. numpy/random/tests/data/mt19937-testset-1.csv +1001 -0
  689. numpy/random/tests/data/mt19937-testset-2.csv +1001 -0
  690. numpy/random/tests/data/pcg64-testset-1.csv +1001 -0
  691. numpy/random/tests/data/pcg64-testset-2.csv +1001 -0
  692. numpy/random/tests/data/pcg64dxsm-testset-1.csv +1001 -0
  693. numpy/random/tests/data/pcg64dxsm-testset-2.csv +1001 -0
  694. numpy/random/tests/data/philox-testset-1.csv +1001 -0
  695. numpy/random/tests/data/philox-testset-2.csv +1001 -0
  696. numpy/random/tests/data/sfc64-testset-1.csv +1001 -0
  697. numpy/random/tests/data/sfc64-testset-2.csv +1001 -0
  698. numpy/random/tests/data/sfc64_np126.pkl.gz +0 -0
  699. numpy/random/tests/test_direct.py +592 -0
  700. numpy/random/tests/test_extending.py +127 -0
  701. numpy/random/tests/test_generator_mt19937.py +2809 -0
  702. numpy/random/tests/test_generator_mt19937_regressions.py +207 -0
  703. numpy/random/tests/test_random.py +1757 -0
  704. numpy/random/tests/test_randomstate.py +2130 -0
  705. numpy/random/tests/test_randomstate_regression.py +217 -0
  706. numpy/random/tests/test_regression.py +152 -0
  707. numpy/random/tests/test_seed_sequence.py +79 -0
  708. numpy/random/tests/test_smoke.py +819 -0
  709. numpy/rec/__init__.py +2 -0
  710. numpy/rec/__init__.pyi +23 -0
  711. numpy/strings/__init__.py +2 -0
  712. numpy/strings/__init__.pyi +97 -0
  713. numpy/testing/__init__.py +22 -0
  714. numpy/testing/__init__.pyi +102 -0
  715. numpy/testing/_private/__init__.py +0 -0
  716. numpy/testing/_private/__init__.pyi +0 -0
  717. numpy/testing/_private/extbuild.py +250 -0
  718. numpy/testing/_private/extbuild.pyi +25 -0
  719. numpy/testing/_private/utils.py +2752 -0
  720. numpy/testing/_private/utils.pyi +499 -0
  721. numpy/testing/overrides.py +84 -0
  722. numpy/testing/overrides.pyi +11 -0
  723. numpy/testing/print_coercion_tables.py +207 -0
  724. numpy/testing/print_coercion_tables.pyi +27 -0
  725. numpy/testing/tests/__init__.py +0 -0
  726. numpy/testing/tests/test_utils.py +1917 -0
  727. numpy/tests/__init__.py +0 -0
  728. numpy/tests/test__all__.py +10 -0
  729. numpy/tests/test_configtool.py +48 -0
  730. numpy/tests/test_ctypeslib.py +377 -0
  731. numpy/tests/test_lazyloading.py +38 -0
  732. numpy/tests/test_matlib.py +59 -0
  733. numpy/tests/test_numpy_config.py +46 -0
  734. numpy/tests/test_numpy_version.py +54 -0
  735. numpy/tests/test_public_api.py +806 -0
  736. numpy/tests/test_reloading.py +74 -0
  737. numpy/tests/test_scripts.py +49 -0
  738. numpy/tests/test_warnings.py +78 -0
  739. numpy/typing/__init__.py +201 -0
  740. numpy/typing/mypy_plugin.py +195 -0
  741. numpy/typing/tests/__init__.py +0 -0
  742. numpy/typing/tests/data/fail/arithmetic.pyi +126 -0
  743. numpy/typing/tests/data/fail/array_constructors.pyi +34 -0
  744. numpy/typing/tests/data/fail/array_like.pyi +15 -0
  745. numpy/typing/tests/data/fail/array_pad.pyi +6 -0
  746. numpy/typing/tests/data/fail/arrayprint.pyi +16 -0
  747. numpy/typing/tests/data/fail/arrayterator.pyi +14 -0
  748. numpy/typing/tests/data/fail/bitwise_ops.pyi +17 -0
  749. numpy/typing/tests/data/fail/char.pyi +65 -0
  750. numpy/typing/tests/data/fail/chararray.pyi +62 -0
  751. numpy/typing/tests/data/fail/comparisons.pyi +27 -0
  752. numpy/typing/tests/data/fail/constants.pyi +3 -0
  753. numpy/typing/tests/data/fail/datasource.pyi +15 -0
  754. numpy/typing/tests/data/fail/dtype.pyi +17 -0
  755. numpy/typing/tests/data/fail/einsumfunc.pyi +12 -0
  756. numpy/typing/tests/data/fail/flatiter.pyi +20 -0
  757. numpy/typing/tests/data/fail/fromnumeric.pyi +148 -0
  758. numpy/typing/tests/data/fail/histograms.pyi +12 -0
  759. numpy/typing/tests/data/fail/index_tricks.pyi +14 -0
  760. numpy/typing/tests/data/fail/lib_function_base.pyi +62 -0
  761. numpy/typing/tests/data/fail/lib_polynomial.pyi +29 -0
  762. numpy/typing/tests/data/fail/lib_utils.pyi +3 -0
  763. numpy/typing/tests/data/fail/lib_version.pyi +6 -0
  764. numpy/typing/tests/data/fail/linalg.pyi +48 -0
  765. numpy/typing/tests/data/fail/ma.pyi +143 -0
  766. numpy/typing/tests/data/fail/memmap.pyi +5 -0
  767. numpy/typing/tests/data/fail/modules.pyi +17 -0
  768. numpy/typing/tests/data/fail/multiarray.pyi +52 -0
  769. numpy/typing/tests/data/fail/ndarray.pyi +11 -0
  770. numpy/typing/tests/data/fail/ndarray_misc.pyi +36 -0
  771. numpy/typing/tests/data/fail/nditer.pyi +8 -0
  772. numpy/typing/tests/data/fail/nested_sequence.pyi +16 -0
  773. numpy/typing/tests/data/fail/npyio.pyi +24 -0
  774. numpy/typing/tests/data/fail/numerictypes.pyi +5 -0
  775. numpy/typing/tests/data/fail/random.pyi +62 -0
  776. numpy/typing/tests/data/fail/rec.pyi +17 -0
  777. numpy/typing/tests/data/fail/scalars.pyi +87 -0
  778. numpy/typing/tests/data/fail/shape.pyi +6 -0
  779. numpy/typing/tests/data/fail/shape_base.pyi +8 -0
  780. numpy/typing/tests/data/fail/stride_tricks.pyi +9 -0
  781. numpy/typing/tests/data/fail/strings.pyi +52 -0
  782. numpy/typing/tests/data/fail/testing.pyi +28 -0
  783. numpy/typing/tests/data/fail/twodim_base.pyi +32 -0
  784. numpy/typing/tests/data/fail/type_check.pyi +13 -0
  785. numpy/typing/tests/data/fail/ufunc_config.pyi +21 -0
  786. numpy/typing/tests/data/fail/ufunclike.pyi +21 -0
  787. numpy/typing/tests/data/fail/ufuncs.pyi +17 -0
  788. numpy/typing/tests/data/fail/warnings_and_errors.pyi +5 -0
  789. numpy/typing/tests/data/misc/extended_precision.pyi +9 -0
  790. numpy/typing/tests/data/mypy.ini +9 -0
  791. numpy/typing/tests/data/pass/arithmetic.py +612 -0
  792. numpy/typing/tests/data/pass/array_constructors.py +137 -0
  793. numpy/typing/tests/data/pass/array_like.py +43 -0
  794. numpy/typing/tests/data/pass/arrayprint.py +37 -0
  795. numpy/typing/tests/data/pass/arrayterator.py +27 -0
  796. numpy/typing/tests/data/pass/bitwise_ops.py +131 -0
  797. numpy/typing/tests/data/pass/comparisons.py +315 -0
  798. numpy/typing/tests/data/pass/dtype.py +57 -0
  799. numpy/typing/tests/data/pass/einsumfunc.py +36 -0
  800. numpy/typing/tests/data/pass/flatiter.py +19 -0
  801. numpy/typing/tests/data/pass/fromnumeric.py +272 -0
  802. numpy/typing/tests/data/pass/index_tricks.py +60 -0
  803. numpy/typing/tests/data/pass/lib_user_array.py +22 -0
  804. numpy/typing/tests/data/pass/lib_utils.py +19 -0
  805. numpy/typing/tests/data/pass/lib_version.py +18 -0
  806. numpy/typing/tests/data/pass/literal.py +51 -0
  807. numpy/typing/tests/data/pass/ma.py +174 -0
  808. numpy/typing/tests/data/pass/mod.py +149 -0
  809. numpy/typing/tests/data/pass/modules.py +45 -0
  810. numpy/typing/tests/data/pass/multiarray.py +76 -0
  811. numpy/typing/tests/data/pass/ndarray_conversion.py +87 -0
  812. numpy/typing/tests/data/pass/ndarray_misc.py +203 -0
  813. numpy/typing/tests/data/pass/ndarray_shape_manipulation.py +47 -0
  814. numpy/typing/tests/data/pass/nditer.py +4 -0
  815. numpy/typing/tests/data/pass/numeric.py +95 -0
  816. numpy/typing/tests/data/pass/numerictypes.py +17 -0
  817. numpy/typing/tests/data/pass/random.py +1497 -0
  818. numpy/typing/tests/data/pass/recfunctions.py +161 -0
  819. numpy/typing/tests/data/pass/scalars.py +248 -0
  820. numpy/typing/tests/data/pass/shape.py +19 -0
  821. numpy/typing/tests/data/pass/simple.py +168 -0
  822. numpy/typing/tests/data/pass/simple_py3.py +6 -0
  823. numpy/typing/tests/data/pass/ufunc_config.py +64 -0
  824. numpy/typing/tests/data/pass/ufunclike.py +47 -0
  825. numpy/typing/tests/data/pass/ufuncs.py +16 -0
  826. numpy/typing/tests/data/pass/warnings_and_errors.py +6 -0
  827. numpy/typing/tests/data/reveal/arithmetic.pyi +720 -0
  828. numpy/typing/tests/data/reveal/array_api_info.pyi +70 -0
  829. numpy/typing/tests/data/reveal/array_constructors.pyi +249 -0
  830. numpy/typing/tests/data/reveal/arraypad.pyi +22 -0
  831. numpy/typing/tests/data/reveal/arrayprint.pyi +25 -0
  832. numpy/typing/tests/data/reveal/arraysetops.pyi +74 -0
  833. numpy/typing/tests/data/reveal/arrayterator.pyi +27 -0
  834. numpy/typing/tests/data/reveal/bitwise_ops.pyi +167 -0
  835. numpy/typing/tests/data/reveal/char.pyi +224 -0
  836. numpy/typing/tests/data/reveal/chararray.pyi +137 -0
  837. numpy/typing/tests/data/reveal/comparisons.pyi +264 -0
  838. numpy/typing/tests/data/reveal/constants.pyi +14 -0
  839. numpy/typing/tests/data/reveal/ctypeslib.pyi +81 -0
  840. numpy/typing/tests/data/reveal/datasource.pyi +23 -0
  841. numpy/typing/tests/data/reveal/dtype.pyi +136 -0
  842. numpy/typing/tests/data/reveal/einsumfunc.pyi +39 -0
  843. numpy/typing/tests/data/reveal/emath.pyi +54 -0
  844. numpy/typing/tests/data/reveal/fft.pyi +37 -0
  845. numpy/typing/tests/data/reveal/flatiter.pyi +47 -0
  846. numpy/typing/tests/data/reveal/fromnumeric.pyi +347 -0
  847. numpy/typing/tests/data/reveal/getlimits.pyi +51 -0
  848. numpy/typing/tests/data/reveal/histograms.pyi +25 -0
  849. numpy/typing/tests/data/reveal/index_tricks.pyi +70 -0
  850. numpy/typing/tests/data/reveal/lib_function_base.pyi +213 -0
  851. numpy/typing/tests/data/reveal/lib_polynomial.pyi +144 -0
  852. numpy/typing/tests/data/reveal/lib_utils.pyi +17 -0
  853. numpy/typing/tests/data/reveal/lib_version.pyi +20 -0
  854. numpy/typing/tests/data/reveal/linalg.pyi +132 -0
  855. numpy/typing/tests/data/reveal/ma.pyi +369 -0
  856. numpy/typing/tests/data/reveal/matrix.pyi +73 -0
  857. numpy/typing/tests/data/reveal/memmap.pyi +19 -0
  858. numpy/typing/tests/data/reveal/mod.pyi +179 -0
  859. numpy/typing/tests/data/reveal/modules.pyi +51 -0
  860. numpy/typing/tests/data/reveal/multiarray.pyi +194 -0
  861. numpy/typing/tests/data/reveal/nbit_base_example.pyi +21 -0
  862. numpy/typing/tests/data/reveal/ndarray_assignability.pyi +77 -0
  863. numpy/typing/tests/data/reveal/ndarray_conversion.pyi +85 -0
  864. numpy/typing/tests/data/reveal/ndarray_misc.pyi +247 -0
  865. numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi +39 -0
  866. numpy/typing/tests/data/reveal/nditer.pyi +49 -0
  867. numpy/typing/tests/data/reveal/nested_sequence.pyi +25 -0
  868. numpy/typing/tests/data/reveal/npyio.pyi +83 -0
  869. numpy/typing/tests/data/reveal/numeric.pyi +134 -0
  870. numpy/typing/tests/data/reveal/numerictypes.pyi +16 -0
  871. numpy/typing/tests/data/reveal/polynomial_polybase.pyi +220 -0
  872. numpy/typing/tests/data/reveal/polynomial_polyutils.pyi +219 -0
  873. numpy/typing/tests/data/reveal/polynomial_series.pyi +138 -0
  874. numpy/typing/tests/data/reveal/random.pyi +1546 -0
  875. numpy/typing/tests/data/reveal/rec.pyi +171 -0
  876. numpy/typing/tests/data/reveal/scalars.pyi +191 -0
  877. numpy/typing/tests/data/reveal/shape.pyi +13 -0
  878. numpy/typing/tests/data/reveal/shape_base.pyi +52 -0
  879. numpy/typing/tests/data/reveal/stride_tricks.pyi +27 -0
  880. numpy/typing/tests/data/reveal/strings.pyi +196 -0
  881. numpy/typing/tests/data/reveal/testing.pyi +198 -0
  882. numpy/typing/tests/data/reveal/twodim_base.pyi +145 -0
  883. numpy/typing/tests/data/reveal/type_check.pyi +67 -0
  884. numpy/typing/tests/data/reveal/ufunc_config.pyi +30 -0
  885. numpy/typing/tests/data/reveal/ufunclike.pyi +31 -0
  886. numpy/typing/tests/data/reveal/ufuncs.pyi +123 -0
  887. numpy/typing/tests/data/reveal/warnings_and_errors.pyi +11 -0
  888. numpy/typing/tests/test_isfile.py +32 -0
  889. numpy/typing/tests/test_runtime.py +102 -0
  890. numpy/typing/tests/test_typing.py +205 -0
  891. numpy/version.py +11 -0
  892. numpy/version.pyi +18 -0
  893. numpy-2.3.5.dist-info/LICENSE.txt +971 -0
  894. numpy-2.3.5.dist-info/METADATA +1093 -0
  895. numpy-2.3.5.dist-info/RECORD +897 -0
  896. numpy-2.3.5.dist-info/WHEEL +6 -0
  897. numpy-2.3.5.dist-info/entry_points.txt +13 -0
@@ -0,0 +1,10 @@
1
+ from _typeshed import SupportsWrite
2
+
3
+ from numpy._typing import DTypeLike
4
+
5
+ __all__ = ["get_include", "info", "show_runtime"]
6
+
7
+ def get_include() -> str: ...
8
+ def show_runtime() -> None: ...
9
+ def info(object: object = ..., maxwidth: int = ..., output: SupportsWrite[str] | None = ..., toplevel: str = ...) -> None: ...
10
+ def drop_metadata(dtype: DTypeLike, /) -> DTypeLike: ...
numpy/lib/_version.py ADDED
@@ -0,0 +1,154 @@
1
+ """Utility to compare (NumPy) version strings.
2
+
3
+ The NumpyVersion class allows properly comparing numpy version strings.
4
+ The LooseVersion and StrictVersion classes that distutils provides don't
5
+ work; they don't recognize anything like alpha/beta/rc/dev versions.
6
+
7
+ """
8
+ import re
9
+
10
+ __all__ = ['NumpyVersion']
11
+
12
+
13
+ class NumpyVersion:
14
+ """Parse and compare numpy version strings.
15
+
16
+ NumPy has the following versioning scheme (numbers given are examples; they
17
+ can be > 9 in principle):
18
+
19
+ - Released version: '1.8.0', '1.8.1', etc.
20
+ - Alpha: '1.8.0a1', '1.8.0a2', etc.
21
+ - Beta: '1.8.0b1', '1.8.0b2', etc.
22
+ - Release candidates: '1.8.0rc1', '1.8.0rc2', etc.
23
+ - Development versions: '1.8.0.dev-f1234afa' (git commit hash appended)
24
+ - Development versions after a1: '1.8.0a1.dev-f1234afa',
25
+ '1.8.0b2.dev-f1234afa',
26
+ '1.8.1rc1.dev-f1234afa', etc.
27
+ - Development versions (no git hash available): '1.8.0.dev-Unknown'
28
+
29
+ Comparing needs to be done against a valid version string or other
30
+ `NumpyVersion` instance. Note that all development versions of the same
31
+ (pre-)release compare equal.
32
+
33
+ Parameters
34
+ ----------
35
+ vstring : str
36
+ NumPy version string (``np.__version__``).
37
+
38
+ Examples
39
+ --------
40
+ >>> from numpy.lib import NumpyVersion
41
+ >>> if NumpyVersion(np.__version__) < '1.7.0':
42
+ ... print('skip')
43
+ >>> # skip
44
+
45
+ >>> NumpyVersion('1.7') # raises ValueError, add ".0"
46
+ Traceback (most recent call last):
47
+ ...
48
+ ValueError: Not a valid numpy version string
49
+
50
+ """
51
+
52
+ __module__ = "numpy.lib"
53
+
54
+ def __init__(self, vstring):
55
+ self.vstring = vstring
56
+ ver_main = re.match(r'\d+\.\d+\.\d+', vstring)
57
+ if not ver_main:
58
+ raise ValueError("Not a valid numpy version string")
59
+
60
+ self.version = ver_main.group()
61
+ self.major, self.minor, self.bugfix = [int(x) for x in
62
+ self.version.split('.')]
63
+ if len(vstring) == ver_main.end():
64
+ self.pre_release = 'final'
65
+ else:
66
+ alpha = re.match(r'a\d', vstring[ver_main.end():])
67
+ beta = re.match(r'b\d', vstring[ver_main.end():])
68
+ rc = re.match(r'rc\d', vstring[ver_main.end():])
69
+ pre_rel = [m for m in [alpha, beta, rc] if m is not None]
70
+ if pre_rel:
71
+ self.pre_release = pre_rel[0].group()
72
+ else:
73
+ self.pre_release = ''
74
+
75
+ self.is_devversion = bool(re.search(r'.dev', vstring))
76
+
77
+ def _compare_version(self, other):
78
+ """Compare major.minor.bugfix"""
79
+ if self.major == other.major:
80
+ if self.minor == other.minor:
81
+ if self.bugfix == other.bugfix:
82
+ vercmp = 0
83
+ elif self.bugfix > other.bugfix:
84
+ vercmp = 1
85
+ else:
86
+ vercmp = -1
87
+ elif self.minor > other.minor:
88
+ vercmp = 1
89
+ else:
90
+ vercmp = -1
91
+ elif self.major > other.major:
92
+ vercmp = 1
93
+ else:
94
+ vercmp = -1
95
+
96
+ return vercmp
97
+
98
+ def _compare_pre_release(self, other):
99
+ """Compare alpha/beta/rc/final."""
100
+ if self.pre_release == other.pre_release:
101
+ vercmp = 0
102
+ elif self.pre_release == 'final':
103
+ vercmp = 1
104
+ elif other.pre_release == 'final':
105
+ vercmp = -1
106
+ elif self.pre_release > other.pre_release:
107
+ vercmp = 1
108
+ else:
109
+ vercmp = -1
110
+
111
+ return vercmp
112
+
113
+ def _compare(self, other):
114
+ if not isinstance(other, (str, NumpyVersion)):
115
+ raise ValueError("Invalid object to compare with NumpyVersion.")
116
+
117
+ if isinstance(other, str):
118
+ other = NumpyVersion(other)
119
+
120
+ vercmp = self._compare_version(other)
121
+ if vercmp == 0:
122
+ # Same x.y.z version, check for alpha/beta/rc
123
+ vercmp = self._compare_pre_release(other)
124
+ if vercmp == 0:
125
+ # Same version and same pre-release, check if dev version
126
+ if self.is_devversion is other.is_devversion:
127
+ vercmp = 0
128
+ elif self.is_devversion:
129
+ vercmp = -1
130
+ else:
131
+ vercmp = 1
132
+
133
+ return vercmp
134
+
135
+ def __lt__(self, other):
136
+ return self._compare(other) < 0
137
+
138
+ def __le__(self, other):
139
+ return self._compare(other) <= 0
140
+
141
+ def __eq__(self, other):
142
+ return self._compare(other) == 0
143
+
144
+ def __ne__(self, other):
145
+ return self._compare(other) != 0
146
+
147
+ def __gt__(self, other):
148
+ return self._compare(other) > 0
149
+
150
+ def __ge__(self, other):
151
+ return self._compare(other) >= 0
152
+
153
+ def __repr__(self):
154
+ return f"NumpyVersion({self.vstring})"
numpy/lib/_version.pyi ADDED
@@ -0,0 +1,17 @@
1
+ __all__ = ["NumpyVersion"]
2
+
3
+ class NumpyVersion:
4
+ vstring: str
5
+ version: str
6
+ major: int
7
+ minor: int
8
+ bugfix: int
9
+ pre_release: str
10
+ is_devversion: bool
11
+ def __init__(self, vstring: str) -> None: ...
12
+ def __lt__(self, other: str | NumpyVersion) -> bool: ...
13
+ def __le__(self, other: str | NumpyVersion) -> bool: ...
14
+ def __eq__(self, other: str | NumpyVersion) -> bool: ... # type: ignore[override]
15
+ def __ne__(self, other: str | NumpyVersion) -> bool: ... # type: ignore[override]
16
+ def __gt__(self, other: str | NumpyVersion) -> bool: ...
17
+ def __ge__(self, other: str | NumpyVersion) -> bool: ...
@@ -0,0 +1,7 @@
1
+ from ._array_utils_impl import ( # noqa: F401
2
+ __all__,
3
+ __doc__,
4
+ byte_bounds,
5
+ normalize_axis_index,
6
+ normalize_axis_tuple,
7
+ )
@@ -0,0 +1,12 @@
1
+ from ._array_utils_impl import (
2
+ __all__ as __all__,
3
+ )
4
+ from ._array_utils_impl import (
5
+ byte_bounds as byte_bounds,
6
+ )
7
+ from ._array_utils_impl import (
8
+ normalize_axis_index as normalize_axis_index,
9
+ )
10
+ from ._array_utils_impl import (
11
+ normalize_axis_tuple as normalize_axis_tuple,
12
+ )
numpy/lib/format.py ADDED
@@ -0,0 +1,24 @@
1
+ from ._format_impl import ( # noqa: F401
2
+ ARRAY_ALIGN,
3
+ BUFFER_SIZE,
4
+ EXPECTED_KEYS,
5
+ GROWTH_AXIS_MAX_DIGITS,
6
+ MAGIC_LEN,
7
+ MAGIC_PREFIX,
8
+ __all__,
9
+ __doc__,
10
+ descr_to_dtype,
11
+ drop_metadata,
12
+ dtype_to_descr,
13
+ header_data_from_array_1_0,
14
+ isfileobj,
15
+ magic,
16
+ open_memmap,
17
+ read_array,
18
+ read_array_header_1_0,
19
+ read_array_header_2_0,
20
+ read_magic,
21
+ write_array,
22
+ write_array_header_1_0,
23
+ write_array_header_2_0,
24
+ )
numpy/lib/format.pyi ADDED
@@ -0,0 +1,66 @@
1
+ from ._format_impl import (
2
+ ARRAY_ALIGN as ARRAY_ALIGN,
3
+ )
4
+ from ._format_impl import (
5
+ BUFFER_SIZE as BUFFER_SIZE,
6
+ )
7
+ from ._format_impl import (
8
+ EXPECTED_KEYS as EXPECTED_KEYS,
9
+ )
10
+ from ._format_impl import (
11
+ GROWTH_AXIS_MAX_DIGITS as GROWTH_AXIS_MAX_DIGITS,
12
+ )
13
+ from ._format_impl import (
14
+ MAGIC_LEN as MAGIC_LEN,
15
+ )
16
+ from ._format_impl import (
17
+ MAGIC_PREFIX as MAGIC_PREFIX,
18
+ )
19
+ from ._format_impl import (
20
+ __all__ as __all__,
21
+ )
22
+ from ._format_impl import (
23
+ __doc__ as __doc__,
24
+ )
25
+ from ._format_impl import (
26
+ descr_to_dtype as descr_to_dtype,
27
+ )
28
+ from ._format_impl import (
29
+ drop_metadata as drop_metadata,
30
+ )
31
+ from ._format_impl import (
32
+ dtype_to_descr as dtype_to_descr,
33
+ )
34
+ from ._format_impl import (
35
+ header_data_from_array_1_0 as header_data_from_array_1_0,
36
+ )
37
+ from ._format_impl import (
38
+ isfileobj as isfileobj,
39
+ )
40
+ from ._format_impl import (
41
+ magic as magic,
42
+ )
43
+ from ._format_impl import (
44
+ open_memmap as open_memmap,
45
+ )
46
+ from ._format_impl import (
47
+ read_array as read_array,
48
+ )
49
+ from ._format_impl import (
50
+ read_array_header_1_0 as read_array_header_1_0,
51
+ )
52
+ from ._format_impl import (
53
+ read_array_header_2_0 as read_array_header_2_0,
54
+ )
55
+ from ._format_impl import (
56
+ read_magic as read_magic,
57
+ )
58
+ from ._format_impl import (
59
+ write_array as write_array,
60
+ )
61
+ from ._format_impl import (
62
+ write_array_header_1_0 as write_array_header_1_0,
63
+ )
64
+ from ._format_impl import (
65
+ write_array_header_2_0 as write_array_header_2_0,
66
+ )
@@ -0,0 +1,95 @@
1
+ """
2
+ Introspection helper functions.
3
+ """
4
+
5
+ __all__ = ['opt_func_info']
6
+
7
+
8
+ def opt_func_info(func_name=None, signature=None):
9
+ """
10
+ Returns a dictionary containing the currently supported CPU dispatched
11
+ features for all optimized functions.
12
+
13
+ Parameters
14
+ ----------
15
+ func_name : str (optional)
16
+ Regular expression to filter by function name.
17
+
18
+ signature : str (optional)
19
+ Regular expression to filter by data type.
20
+
21
+ Returns
22
+ -------
23
+ dict
24
+ A dictionary where keys are optimized function names and values are
25
+ nested dictionaries indicating supported targets based on data types.
26
+
27
+ Examples
28
+ --------
29
+ Retrieve dispatch information for functions named 'add' or 'sub' and
30
+ data types 'float64' or 'float32':
31
+
32
+ >>> import numpy as np
33
+ >>> dict = np.lib.introspect.opt_func_info(
34
+ ... func_name="add|abs", signature="float64|complex64"
35
+ ... )
36
+ >>> import json
37
+ >>> print(json.dumps(dict, indent=2))
38
+ {
39
+ "absolute": {
40
+ "dd": {
41
+ "current": "SSE41",
42
+ "available": "SSE41 baseline(SSE SSE2 SSE3)"
43
+ },
44
+ "Ff": {
45
+ "current": "FMA3__AVX2",
46
+ "available": "AVX512F FMA3__AVX2 baseline(SSE SSE2 SSE3)"
47
+ },
48
+ "Dd": {
49
+ "current": "FMA3__AVX2",
50
+ "available": "AVX512F FMA3__AVX2 baseline(SSE SSE2 SSE3)"
51
+ }
52
+ },
53
+ "add": {
54
+ "ddd": {
55
+ "current": "FMA3__AVX2",
56
+ "available": "FMA3__AVX2 baseline(SSE SSE2 SSE3)"
57
+ },
58
+ "FFF": {
59
+ "current": "FMA3__AVX2",
60
+ "available": "FMA3__AVX2 baseline(SSE SSE2 SSE3)"
61
+ }
62
+ }
63
+ }
64
+
65
+ """
66
+ import re
67
+
68
+ from numpy._core._multiarray_umath import __cpu_targets_info__ as targets
69
+ from numpy._core._multiarray_umath import dtype
70
+
71
+ if func_name is not None:
72
+ func_pattern = re.compile(func_name)
73
+ matching_funcs = {
74
+ k: v for k, v in targets.items()
75
+ if func_pattern.search(k)
76
+ }
77
+ else:
78
+ matching_funcs = targets
79
+
80
+ if signature is not None:
81
+ sig_pattern = re.compile(signature)
82
+ matching_sigs = {}
83
+ for k, v in matching_funcs.items():
84
+ matching_chars = {}
85
+ for chars, targets in v.items():
86
+ if any(
87
+ sig_pattern.search(c) or sig_pattern.search(dtype(c).name)
88
+ for c in chars
89
+ ):
90
+ matching_chars[chars] = targets
91
+ if matching_chars:
92
+ matching_sigs[k] = matching_chars
93
+ else:
94
+ matching_sigs = matching_funcs
95
+ return matching_sigs
@@ -0,0 +1,3 @@
1
+ __all__ = ["opt_func_info"]
2
+
3
+ def opt_func_info(func_name: str | None = None, signature: str | None = None) -> dict[str, dict[str, dict[str, str]]]: ...
numpy/lib/mixins.py ADDED
@@ -0,0 +1,180 @@
1
+ """
2
+ Mixin classes for custom array types that don't inherit from ndarray.
3
+ """
4
+
5
+ __all__ = ['NDArrayOperatorsMixin']
6
+
7
+
8
+ def _disables_array_ufunc(obj):
9
+ """True when __array_ufunc__ is set to None."""
10
+ try:
11
+ return obj.__array_ufunc__ is None
12
+ except AttributeError:
13
+ return False
14
+
15
+
16
+ def _binary_method(ufunc, name):
17
+ """Implement a forward binary method with a ufunc, e.g., __add__."""
18
+ def func(self, other):
19
+ if _disables_array_ufunc(other):
20
+ return NotImplemented
21
+ return ufunc(self, other)
22
+ func.__name__ = f'__{name}__'
23
+ return func
24
+
25
+
26
+ def _reflected_binary_method(ufunc, name):
27
+ """Implement a reflected binary method with a ufunc, e.g., __radd__."""
28
+ def func(self, other):
29
+ if _disables_array_ufunc(other):
30
+ return NotImplemented
31
+ return ufunc(other, self)
32
+ func.__name__ = f'__r{name}__'
33
+ return func
34
+
35
+
36
+ def _inplace_binary_method(ufunc, name):
37
+ """Implement an in-place binary method with a ufunc, e.g., __iadd__."""
38
+ def func(self, other):
39
+ return ufunc(self, other, out=(self,))
40
+ func.__name__ = f'__i{name}__'
41
+ return func
42
+
43
+
44
+ def _numeric_methods(ufunc, name):
45
+ """Implement forward, reflected and inplace binary methods with a ufunc."""
46
+ return (_binary_method(ufunc, name),
47
+ _reflected_binary_method(ufunc, name),
48
+ _inplace_binary_method(ufunc, name))
49
+
50
+
51
+ def _unary_method(ufunc, name):
52
+ """Implement a unary special method with a ufunc."""
53
+ def func(self):
54
+ return ufunc(self)
55
+ func.__name__ = f'__{name}__'
56
+ return func
57
+
58
+
59
+ class NDArrayOperatorsMixin:
60
+ """Mixin defining all operator special methods using __array_ufunc__.
61
+
62
+ This class implements the special methods for almost all of Python's
63
+ builtin operators defined in the `operator` module, including comparisons
64
+ (``==``, ``>``, etc.) and arithmetic (``+``, ``*``, ``-``, etc.), by
65
+ deferring to the ``__array_ufunc__`` method, which subclasses must
66
+ implement.
67
+
68
+ It is useful for writing classes that do not inherit from `numpy.ndarray`,
69
+ but that should support arithmetic and numpy universal functions like
70
+ arrays as described in :external+neps:doc:`nep-0013-ufunc-overrides`.
71
+
72
+ As an trivial example, consider this implementation of an ``ArrayLike``
73
+ class that simply wraps a NumPy array and ensures that the result of any
74
+ arithmetic operation is also an ``ArrayLike`` object:
75
+
76
+ >>> import numbers
77
+ >>> class ArrayLike(np.lib.mixins.NDArrayOperatorsMixin):
78
+ ... def __init__(self, value):
79
+ ... self.value = np.asarray(value)
80
+ ...
81
+ ... # One might also consider adding the built-in list type to this
82
+ ... # list, to support operations like np.add(array_like, list)
83
+ ... _HANDLED_TYPES = (np.ndarray, numbers.Number)
84
+ ...
85
+ ... def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
86
+ ... out = kwargs.get('out', ())
87
+ ... for x in inputs + out:
88
+ ... # Only support operations with instances of
89
+ ... # _HANDLED_TYPES. Use ArrayLike instead of type(self)
90
+ ... # for isinstance to allow subclasses that don't
91
+ ... # override __array_ufunc__ to handle ArrayLike objects.
92
+ ... if not isinstance(
93
+ ... x, self._HANDLED_TYPES + (ArrayLike,)
94
+ ... ):
95
+ ... return NotImplemented
96
+ ...
97
+ ... # Defer to the implementation of the ufunc
98
+ ... # on unwrapped values.
99
+ ... inputs = tuple(x.value if isinstance(x, ArrayLike) else x
100
+ ... for x in inputs)
101
+ ... if out:
102
+ ... kwargs['out'] = tuple(
103
+ ... x.value if isinstance(x, ArrayLike) else x
104
+ ... for x in out)
105
+ ... result = getattr(ufunc, method)(*inputs, **kwargs)
106
+ ...
107
+ ... if type(result) is tuple:
108
+ ... # multiple return values
109
+ ... return tuple(type(self)(x) for x in result)
110
+ ... elif method == 'at':
111
+ ... # no return value
112
+ ... return None
113
+ ... else:
114
+ ... # one return value
115
+ ... return type(self)(result)
116
+ ...
117
+ ... def __repr__(self):
118
+ ... return '%s(%r)' % (type(self).__name__, self.value)
119
+
120
+ In interactions between ``ArrayLike`` objects and numbers or numpy arrays,
121
+ the result is always another ``ArrayLike``:
122
+
123
+ >>> x = ArrayLike([1, 2, 3])
124
+ >>> x - 1
125
+ ArrayLike(array([0, 1, 2]))
126
+ >>> 1 - x
127
+ ArrayLike(array([ 0, -1, -2]))
128
+ >>> np.arange(3) - x
129
+ ArrayLike(array([-1, -1, -1]))
130
+ >>> x - np.arange(3)
131
+ ArrayLike(array([1, 1, 1]))
132
+
133
+ Note that unlike ``numpy.ndarray``, ``ArrayLike`` does not allow operations
134
+ with arbitrary, unrecognized types. This ensures that interactions with
135
+ ArrayLike preserve a well-defined casting hierarchy.
136
+
137
+ """
138
+ from numpy._core import umath as um
139
+
140
+ __slots__ = ()
141
+ # Like np.ndarray, this mixin class implements "Option 1" from the ufunc
142
+ # overrides NEP.
143
+
144
+ # comparisons don't have reflected and in-place versions
145
+ __lt__ = _binary_method(um.less, 'lt')
146
+ __le__ = _binary_method(um.less_equal, 'le')
147
+ __eq__ = _binary_method(um.equal, 'eq')
148
+ __ne__ = _binary_method(um.not_equal, 'ne')
149
+ __gt__ = _binary_method(um.greater, 'gt')
150
+ __ge__ = _binary_method(um.greater_equal, 'ge')
151
+
152
+ # numeric methods
153
+ __add__, __radd__, __iadd__ = _numeric_methods(um.add, 'add')
154
+ __sub__, __rsub__, __isub__ = _numeric_methods(um.subtract, 'sub')
155
+ __mul__, __rmul__, __imul__ = _numeric_methods(um.multiply, 'mul')
156
+ __matmul__, __rmatmul__, __imatmul__ = _numeric_methods(
157
+ um.matmul, 'matmul')
158
+ __truediv__, __rtruediv__, __itruediv__ = _numeric_methods(
159
+ um.true_divide, 'truediv')
160
+ __floordiv__, __rfloordiv__, __ifloordiv__ = _numeric_methods(
161
+ um.floor_divide, 'floordiv')
162
+ __mod__, __rmod__, __imod__ = _numeric_methods(um.remainder, 'mod')
163
+ __divmod__ = _binary_method(um.divmod, 'divmod')
164
+ __rdivmod__ = _reflected_binary_method(um.divmod, 'divmod')
165
+ # __idivmod__ does not exist
166
+ # TODO: handle the optional third argument for __pow__?
167
+ __pow__, __rpow__, __ipow__ = _numeric_methods(um.power, 'pow')
168
+ __lshift__, __rlshift__, __ilshift__ = _numeric_methods(
169
+ um.left_shift, 'lshift')
170
+ __rshift__, __rrshift__, __irshift__ = _numeric_methods(
171
+ um.right_shift, 'rshift')
172
+ __and__, __rand__, __iand__ = _numeric_methods(um.bitwise_and, 'and')
173
+ __xor__, __rxor__, __ixor__ = _numeric_methods(um.bitwise_xor, 'xor')
174
+ __or__, __ror__, __ior__ = _numeric_methods(um.bitwise_or, 'or')
175
+
176
+ # unary methods
177
+ __neg__ = _unary_method(um.negative, 'neg')
178
+ __pos__ = _unary_method(um.positive, 'pos')
179
+ __abs__ = _unary_method(um.absolute, 'abs')
180
+ __invert__ = _unary_method(um.invert, 'invert')
numpy/lib/mixins.pyi ADDED
@@ -0,0 +1,77 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any
3
+ from typing import Literal as L
4
+
5
+ from numpy import ufunc
6
+
7
+ __all__ = ["NDArrayOperatorsMixin"]
8
+
9
+ # NOTE: `NDArrayOperatorsMixin` is not formally an abstract baseclass,
10
+ # even though it's reliant on subclasses implementing `__array_ufunc__`
11
+
12
+ # NOTE: The accepted input- and output-types of the various dunders are
13
+ # completely dependent on how `__array_ufunc__` is implemented.
14
+ # As such, only little type safety can be provided here.
15
+
16
+ class NDArrayOperatorsMixin(ABC):
17
+ __slots__ = ()
18
+
19
+ @abstractmethod
20
+ def __array_ufunc__(
21
+ self,
22
+ ufunc: ufunc,
23
+ method: L["__call__", "reduce", "reduceat", "accumulate", "outer", "at"],
24
+ *inputs: Any,
25
+ **kwargs: Any,
26
+ ) -> Any: ...
27
+ def __lt__(self, other: Any) -> Any: ...
28
+ def __le__(self, other: Any) -> Any: ...
29
+ def __eq__(self, other: Any) -> Any: ...
30
+ def __ne__(self, other: Any) -> Any: ...
31
+ def __gt__(self, other: Any) -> Any: ...
32
+ def __ge__(self, other: Any) -> Any: ...
33
+ def __add__(self, other: Any) -> Any: ...
34
+ def __radd__(self, other: Any) -> Any: ...
35
+ def __iadd__(self, other: Any) -> Any: ...
36
+ def __sub__(self, other: Any) -> Any: ...
37
+ def __rsub__(self, other: Any) -> Any: ...
38
+ def __isub__(self, other: Any) -> Any: ...
39
+ def __mul__(self, other: Any) -> Any: ...
40
+ def __rmul__(self, other: Any) -> Any: ...
41
+ def __imul__(self, other: Any) -> Any: ...
42
+ def __matmul__(self, other: Any) -> Any: ...
43
+ def __rmatmul__(self, other: Any) -> Any: ...
44
+ def __imatmul__(self, other: Any) -> Any: ...
45
+ def __truediv__(self, other: Any) -> Any: ...
46
+ def __rtruediv__(self, other: Any) -> Any: ...
47
+ def __itruediv__(self, other: Any) -> Any: ...
48
+ def __floordiv__(self, other: Any) -> Any: ...
49
+ def __rfloordiv__(self, other: Any) -> Any: ...
50
+ def __ifloordiv__(self, other: Any) -> Any: ...
51
+ def __mod__(self, other: Any) -> Any: ...
52
+ def __rmod__(self, other: Any) -> Any: ...
53
+ def __imod__(self, other: Any) -> Any: ...
54
+ def __divmod__(self, other: Any) -> Any: ...
55
+ def __rdivmod__(self, other: Any) -> Any: ...
56
+ def __pow__(self, other: Any) -> Any: ...
57
+ def __rpow__(self, other: Any) -> Any: ...
58
+ def __ipow__(self, other: Any) -> Any: ...
59
+ def __lshift__(self, other: Any) -> Any: ...
60
+ def __rlshift__(self, other: Any) -> Any: ...
61
+ def __ilshift__(self, other: Any) -> Any: ...
62
+ def __rshift__(self, other: Any) -> Any: ...
63
+ def __rrshift__(self, other: Any) -> Any: ...
64
+ def __irshift__(self, other: Any) -> Any: ...
65
+ def __and__(self, other: Any) -> Any: ...
66
+ def __rand__(self, other: Any) -> Any: ...
67
+ def __iand__(self, other: Any) -> Any: ...
68
+ def __xor__(self, other: Any) -> Any: ...
69
+ def __rxor__(self, other: Any) -> Any: ...
70
+ def __ixor__(self, other: Any) -> Any: ...
71
+ def __or__(self, other: Any) -> Any: ...
72
+ def __ror__(self, other: Any) -> Any: ...
73
+ def __ior__(self, other: Any) -> Any: ...
74
+ def __neg__(self) -> Any: ...
75
+ def __pos__(self) -> Any: ...
76
+ def __abs__(self) -> Any: ...
77
+ def __invert__(self) -> Any: ...
numpy/lib/npyio.py ADDED
@@ -0,0 +1 @@
1
+ from ._npyio_impl import DataSource, NpzFile, __doc__ # noqa: F401
numpy/lib/npyio.pyi ADDED
@@ -0,0 +1,9 @@
1
+ from numpy.lib._npyio_impl import (
2
+ DataSource as DataSource,
3
+ )
4
+ from numpy.lib._npyio_impl import (
5
+ NpzFile as NpzFile,
6
+ )
7
+ from numpy.lib._npyio_impl import (
8
+ __doc__ as __doc__,
9
+ )