numpy 2.4.1__cp314-cp314t-win_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.
Files changed (932) hide show
  1. numpy/__config__.py +170 -0
  2. numpy/__config__.pyi +108 -0
  3. numpy/__init__.cython-30.pxd +1242 -0
  4. numpy/__init__.pxd +1155 -0
  5. numpy/__init__.py +955 -0
  6. numpy/__init__.pyi +6202 -0
  7. numpy/_array_api_info.py +346 -0
  8. numpy/_array_api_info.pyi +206 -0
  9. numpy/_configtool.py +39 -0
  10. numpy/_configtool.pyi +1 -0
  11. numpy/_core/__init__.py +201 -0
  12. numpy/_core/__init__.pyi +666 -0
  13. numpy/_core/_add_newdocs.py +7151 -0
  14. numpy/_core/_add_newdocs.pyi +2 -0
  15. numpy/_core/_add_newdocs_scalars.py +381 -0
  16. numpy/_core/_add_newdocs_scalars.pyi +16 -0
  17. numpy/_core/_asarray.py +130 -0
  18. numpy/_core/_asarray.pyi +43 -0
  19. numpy/_core/_dtype.py +366 -0
  20. numpy/_core/_dtype.pyi +56 -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 +54 -0
  25. numpy/_core/_internal.py +968 -0
  26. numpy/_core/_internal.pyi +61 -0
  27. numpy/_core/_methods.py +252 -0
  28. numpy/_core/_methods.pyi +22 -0
  29. numpy/_core/_multiarray_tests.cp314t-win_arm64.lib +0 -0
  30. numpy/_core/_multiarray_tests.cp314t-win_arm64.pyd +0 -0
  31. numpy/_core/_multiarray_umath.cp314t-win_arm64.lib +0 -0
  32. numpy/_core/_multiarray_umath.cp314t-win_arm64.pyd +0 -0
  33. numpy/_core/_operand_flag_tests.cp314t-win_arm64.lib +0 -0
  34. numpy/_core/_operand_flag_tests.cp314t-win_arm64.pyd +0 -0
  35. numpy/_core/_rational_tests.cp314t-win_arm64.lib +0 -0
  36. numpy/_core/_rational_tests.cp314t-win_arm64.pyd +0 -0
  37. numpy/_core/_simd.cp314t-win_arm64.lib +0 -0
  38. numpy/_core/_simd.cp314t-win_arm64.pyd +0 -0
  39. numpy/_core/_simd.pyi +35 -0
  40. numpy/_core/_string_helpers.py +100 -0
  41. numpy/_core/_string_helpers.pyi +12 -0
  42. numpy/_core/_struct_ufunc_tests.cp314t-win_arm64.lib +0 -0
  43. numpy/_core/_struct_ufunc_tests.cp314t-win_arm64.pyd +0 -0
  44. numpy/_core/_type_aliases.py +131 -0
  45. numpy/_core/_type_aliases.pyi +86 -0
  46. numpy/_core/_ufunc_config.py +515 -0
  47. numpy/_core/_ufunc_config.pyi +69 -0
  48. numpy/_core/_umath_tests.cp314t-win_arm64.lib +0 -0
  49. numpy/_core/_umath_tests.cp314t-win_arm64.pyd +0 -0
  50. numpy/_core/_umath_tests.pyi +47 -0
  51. numpy/_core/arrayprint.py +1779 -0
  52. numpy/_core/arrayprint.pyi +158 -0
  53. numpy/_core/cversions.py +13 -0
  54. numpy/_core/defchararray.py +1414 -0
  55. numpy/_core/defchararray.pyi +1150 -0
  56. numpy/_core/einsumfunc.py +1650 -0
  57. numpy/_core/einsumfunc.pyi +184 -0
  58. numpy/_core/fromnumeric.py +4233 -0
  59. numpy/_core/fromnumeric.pyi +1735 -0
  60. numpy/_core/function_base.py +547 -0
  61. numpy/_core/function_base.pyi +276 -0
  62. numpy/_core/getlimits.py +462 -0
  63. numpy/_core/getlimits.pyi +124 -0
  64. numpy/_core/include/numpy/__multiarray_api.c +376 -0
  65. numpy/_core/include/numpy/__multiarray_api.h +1628 -0
  66. numpy/_core/include/numpy/__ufunc_api.c +55 -0
  67. numpy/_core/include/numpy/__ufunc_api.h +349 -0
  68. numpy/_core/include/numpy/_neighborhood_iterator_imp.h +90 -0
  69. numpy/_core/include/numpy/_numpyconfig.h +33 -0
  70. numpy/_core/include/numpy/_public_dtype_api_table.h +86 -0
  71. numpy/_core/include/numpy/arrayobject.h +7 -0
  72. numpy/_core/include/numpy/arrayscalars.h +198 -0
  73. numpy/_core/include/numpy/dtype_api.h +547 -0
  74. numpy/_core/include/numpy/halffloat.h +70 -0
  75. numpy/_core/include/numpy/ndarrayobject.h +304 -0
  76. numpy/_core/include/numpy/ndarraytypes.h +1982 -0
  77. numpy/_core/include/numpy/npy_2_compat.h +249 -0
  78. numpy/_core/include/numpy/npy_2_complexcompat.h +28 -0
  79. numpy/_core/include/numpy/npy_3kcompat.h +374 -0
  80. numpy/_core/include/numpy/npy_common.h +989 -0
  81. numpy/_core/include/numpy/npy_cpu.h +126 -0
  82. numpy/_core/include/numpy/npy_endian.h +79 -0
  83. numpy/_core/include/numpy/npy_math.h +602 -0
  84. numpy/_core/include/numpy/npy_no_deprecated_api.h +20 -0
  85. numpy/_core/include/numpy/npy_os.h +42 -0
  86. numpy/_core/include/numpy/numpyconfig.h +185 -0
  87. numpy/_core/include/numpy/random/LICENSE.txt +21 -0
  88. numpy/_core/include/numpy/random/bitgen.h +20 -0
  89. numpy/_core/include/numpy/random/distributions.h +209 -0
  90. numpy/_core/include/numpy/random/libdivide.h +2079 -0
  91. numpy/_core/include/numpy/ufuncobject.h +343 -0
  92. numpy/_core/include/numpy/utils.h +37 -0
  93. numpy/_core/lib/npy-pkg-config/mlib.ini +12 -0
  94. numpy/_core/lib/npy-pkg-config/npymath.ini +20 -0
  95. numpy/_core/lib/npymath.lib +0 -0
  96. numpy/_core/lib/pkgconfig/numpy.pc +7 -0
  97. numpy/_core/memmap.py +363 -0
  98. numpy/_core/memmap.pyi +3 -0
  99. numpy/_core/multiarray.py +1740 -0
  100. numpy/_core/multiarray.pyi +1316 -0
  101. numpy/_core/numeric.py +2758 -0
  102. numpy/_core/numeric.pyi +1276 -0
  103. numpy/_core/numerictypes.py +633 -0
  104. numpy/_core/numerictypes.pyi +196 -0
  105. numpy/_core/overrides.py +188 -0
  106. numpy/_core/overrides.pyi +47 -0
  107. numpy/_core/printoptions.py +32 -0
  108. numpy/_core/printoptions.pyi +28 -0
  109. numpy/_core/records.py +1088 -0
  110. numpy/_core/records.pyi +340 -0
  111. numpy/_core/shape_base.py +996 -0
  112. numpy/_core/shape_base.pyi +182 -0
  113. numpy/_core/strings.py +1813 -0
  114. numpy/_core/strings.pyi +536 -0
  115. numpy/_core/tests/_locales.py +72 -0
  116. numpy/_core/tests/_natype.py +144 -0
  117. numpy/_core/tests/data/astype_copy.pkl +0 -0
  118. numpy/_core/tests/data/generate_umath_validation_data.cpp +170 -0
  119. numpy/_core/tests/data/recarray_from_file.fits +0 -0
  120. numpy/_core/tests/data/umath-validation-set-README.txt +15 -0
  121. numpy/_core/tests/data/umath-validation-set-arccos.csv +1429 -0
  122. numpy/_core/tests/data/umath-validation-set-arccosh.csv +1429 -0
  123. numpy/_core/tests/data/umath-validation-set-arcsin.csv +1429 -0
  124. numpy/_core/tests/data/umath-validation-set-arcsinh.csv +1429 -0
  125. numpy/_core/tests/data/umath-validation-set-arctan.csv +1429 -0
  126. numpy/_core/tests/data/umath-validation-set-arctanh.csv +1429 -0
  127. numpy/_core/tests/data/umath-validation-set-cbrt.csv +1429 -0
  128. numpy/_core/tests/data/umath-validation-set-cos.csv +1375 -0
  129. numpy/_core/tests/data/umath-validation-set-cosh.csv +1429 -0
  130. numpy/_core/tests/data/umath-validation-set-exp.csv +412 -0
  131. numpy/_core/tests/data/umath-validation-set-exp2.csv +1429 -0
  132. numpy/_core/tests/data/umath-validation-set-expm1.csv +1429 -0
  133. numpy/_core/tests/data/umath-validation-set-log.csv +271 -0
  134. numpy/_core/tests/data/umath-validation-set-log10.csv +1629 -0
  135. numpy/_core/tests/data/umath-validation-set-log1p.csv +1429 -0
  136. numpy/_core/tests/data/umath-validation-set-log2.csv +1629 -0
  137. numpy/_core/tests/data/umath-validation-set-sin.csv +1370 -0
  138. numpy/_core/tests/data/umath-validation-set-sinh.csv +1429 -0
  139. numpy/_core/tests/data/umath-validation-set-tan.csv +1429 -0
  140. numpy/_core/tests/data/umath-validation-set-tanh.csv +1429 -0
  141. numpy/_core/tests/examples/cython/checks.pyx +373 -0
  142. numpy/_core/tests/examples/cython/meson.build +43 -0
  143. numpy/_core/tests/examples/cython/setup.py +39 -0
  144. numpy/_core/tests/examples/limited_api/limited_api1.c +17 -0
  145. numpy/_core/tests/examples/limited_api/limited_api2.pyx +11 -0
  146. numpy/_core/tests/examples/limited_api/limited_api_latest.c +19 -0
  147. numpy/_core/tests/examples/limited_api/meson.build +59 -0
  148. numpy/_core/tests/examples/limited_api/setup.py +24 -0
  149. numpy/_core/tests/test__exceptions.py +90 -0
  150. numpy/_core/tests/test_abc.py +54 -0
  151. numpy/_core/tests/test_api.py +655 -0
  152. numpy/_core/tests/test_argparse.py +90 -0
  153. numpy/_core/tests/test_array_api_info.py +113 -0
  154. numpy/_core/tests/test_array_coercion.py +928 -0
  155. numpy/_core/tests/test_array_interface.py +222 -0
  156. numpy/_core/tests/test_arraymethod.py +84 -0
  157. numpy/_core/tests/test_arrayobject.py +75 -0
  158. numpy/_core/tests/test_arrayprint.py +1324 -0
  159. numpy/_core/tests/test_casting_floatingpoint_errors.py +154 -0
  160. numpy/_core/tests/test_casting_unittests.py +955 -0
  161. numpy/_core/tests/test_conversion_utils.py +209 -0
  162. numpy/_core/tests/test_cpu_dispatcher.py +48 -0
  163. numpy/_core/tests/test_cpu_features.py +450 -0
  164. numpy/_core/tests/test_custom_dtypes.py +393 -0
  165. numpy/_core/tests/test_cython.py +352 -0
  166. numpy/_core/tests/test_datetime.py +2792 -0
  167. numpy/_core/tests/test_defchararray.py +858 -0
  168. numpy/_core/tests/test_deprecations.py +460 -0
  169. numpy/_core/tests/test_dlpack.py +190 -0
  170. numpy/_core/tests/test_dtype.py +2110 -0
  171. numpy/_core/tests/test_einsum.py +1351 -0
  172. numpy/_core/tests/test_errstate.py +131 -0
  173. numpy/_core/tests/test_extint128.py +217 -0
  174. numpy/_core/tests/test_finfo.py +86 -0
  175. numpy/_core/tests/test_function_base.py +504 -0
  176. numpy/_core/tests/test_getlimits.py +171 -0
  177. numpy/_core/tests/test_half.py +593 -0
  178. numpy/_core/tests/test_hashtable.py +36 -0
  179. numpy/_core/tests/test_indexerrors.py +122 -0
  180. numpy/_core/tests/test_indexing.py +1692 -0
  181. numpy/_core/tests/test_item_selection.py +167 -0
  182. numpy/_core/tests/test_limited_api.py +102 -0
  183. numpy/_core/tests/test_longdouble.py +370 -0
  184. numpy/_core/tests/test_mem_overlap.py +933 -0
  185. numpy/_core/tests/test_mem_policy.py +453 -0
  186. numpy/_core/tests/test_memmap.py +248 -0
  187. numpy/_core/tests/test_multiarray.py +11008 -0
  188. numpy/_core/tests/test_multiprocessing.py +55 -0
  189. numpy/_core/tests/test_multithreading.py +377 -0
  190. numpy/_core/tests/test_nditer.py +3533 -0
  191. numpy/_core/tests/test_nep50_promotions.py +287 -0
  192. numpy/_core/tests/test_numeric.py +4295 -0
  193. numpy/_core/tests/test_numerictypes.py +650 -0
  194. numpy/_core/tests/test_overrides.py +800 -0
  195. numpy/_core/tests/test_print.py +202 -0
  196. numpy/_core/tests/test_protocols.py +46 -0
  197. numpy/_core/tests/test_records.py +544 -0
  198. numpy/_core/tests/test_regression.py +2677 -0
  199. numpy/_core/tests/test_scalar_ctors.py +203 -0
  200. numpy/_core/tests/test_scalar_methods.py +328 -0
  201. numpy/_core/tests/test_scalarbuffer.py +153 -0
  202. numpy/_core/tests/test_scalarinherit.py +105 -0
  203. numpy/_core/tests/test_scalarmath.py +1168 -0
  204. numpy/_core/tests/test_scalarprint.py +403 -0
  205. numpy/_core/tests/test_shape_base.py +904 -0
  206. numpy/_core/tests/test_simd.py +1345 -0
  207. numpy/_core/tests/test_simd_module.py +105 -0
  208. numpy/_core/tests/test_stringdtype.py +1855 -0
  209. numpy/_core/tests/test_strings.py +1523 -0
  210. numpy/_core/tests/test_ufunc.py +3405 -0
  211. numpy/_core/tests/test_umath.py +4962 -0
  212. numpy/_core/tests/test_umath_accuracy.py +132 -0
  213. numpy/_core/tests/test_umath_complex.py +631 -0
  214. numpy/_core/tests/test_unicode.py +369 -0
  215. numpy/_core/umath.py +60 -0
  216. numpy/_core/umath.pyi +232 -0
  217. numpy/_distributor_init.py +15 -0
  218. numpy/_distributor_init.pyi +1 -0
  219. numpy/_expired_attrs_2_0.py +78 -0
  220. numpy/_expired_attrs_2_0.pyi +61 -0
  221. numpy/_globals.py +121 -0
  222. numpy/_globals.pyi +17 -0
  223. numpy/_pyinstaller/__init__.py +0 -0
  224. numpy/_pyinstaller/__init__.pyi +0 -0
  225. numpy/_pyinstaller/hook-numpy.py +36 -0
  226. numpy/_pyinstaller/hook-numpy.pyi +6 -0
  227. numpy/_pyinstaller/tests/__init__.py +16 -0
  228. numpy/_pyinstaller/tests/pyinstaller-smoke.py +32 -0
  229. numpy/_pyinstaller/tests/test_pyinstaller.py +35 -0
  230. numpy/_pytesttester.py +201 -0
  231. numpy/_pytesttester.pyi +18 -0
  232. numpy/_typing/__init__.py +173 -0
  233. numpy/_typing/_add_docstring.py +153 -0
  234. numpy/_typing/_array_like.py +106 -0
  235. numpy/_typing/_char_codes.py +213 -0
  236. numpy/_typing/_dtype_like.py +114 -0
  237. numpy/_typing/_extended_precision.py +15 -0
  238. numpy/_typing/_nbit.py +19 -0
  239. numpy/_typing/_nbit_base.py +94 -0
  240. numpy/_typing/_nbit_base.pyi +39 -0
  241. numpy/_typing/_nested_sequence.py +79 -0
  242. numpy/_typing/_scalars.py +20 -0
  243. numpy/_typing/_shape.py +8 -0
  244. numpy/_typing/_ufunc.py +7 -0
  245. numpy/_typing/_ufunc.pyi +975 -0
  246. numpy/_utils/__init__.py +95 -0
  247. numpy/_utils/__init__.pyi +28 -0
  248. numpy/_utils/_convertions.py +18 -0
  249. numpy/_utils/_convertions.pyi +4 -0
  250. numpy/_utils/_inspect.py +192 -0
  251. numpy/_utils/_inspect.pyi +70 -0
  252. numpy/_utils/_pep440.py +486 -0
  253. numpy/_utils/_pep440.pyi +118 -0
  254. numpy/char/__init__.py +2 -0
  255. numpy/char/__init__.pyi +111 -0
  256. numpy/conftest.py +248 -0
  257. numpy/core/__init__.py +33 -0
  258. numpy/core/__init__.pyi +0 -0
  259. numpy/core/_dtype.py +10 -0
  260. numpy/core/_dtype.pyi +0 -0
  261. numpy/core/_dtype_ctypes.py +10 -0
  262. numpy/core/_dtype_ctypes.pyi +0 -0
  263. numpy/core/_internal.py +27 -0
  264. numpy/core/_multiarray_umath.py +57 -0
  265. numpy/core/_utils.py +21 -0
  266. numpy/core/arrayprint.py +10 -0
  267. numpy/core/defchararray.py +10 -0
  268. numpy/core/einsumfunc.py +10 -0
  269. numpy/core/fromnumeric.py +10 -0
  270. numpy/core/function_base.py +10 -0
  271. numpy/core/getlimits.py +10 -0
  272. numpy/core/multiarray.py +25 -0
  273. numpy/core/numeric.py +12 -0
  274. numpy/core/numerictypes.py +10 -0
  275. numpy/core/overrides.py +10 -0
  276. numpy/core/overrides.pyi +7 -0
  277. numpy/core/records.py +10 -0
  278. numpy/core/shape_base.py +10 -0
  279. numpy/core/umath.py +10 -0
  280. numpy/ctypeslib/__init__.py +13 -0
  281. numpy/ctypeslib/__init__.pyi +15 -0
  282. numpy/ctypeslib/_ctypeslib.py +603 -0
  283. numpy/ctypeslib/_ctypeslib.pyi +236 -0
  284. numpy/doc/ufuncs.py +138 -0
  285. numpy/dtypes.py +41 -0
  286. numpy/dtypes.pyi +630 -0
  287. numpy/exceptions.py +246 -0
  288. numpy/exceptions.pyi +27 -0
  289. numpy/f2py/__init__.py +86 -0
  290. numpy/f2py/__init__.pyi +5 -0
  291. numpy/f2py/__main__.py +5 -0
  292. numpy/f2py/__version__.py +1 -0
  293. numpy/f2py/__version__.pyi +1 -0
  294. numpy/f2py/_backends/__init__.py +9 -0
  295. numpy/f2py/_backends/__init__.pyi +5 -0
  296. numpy/f2py/_backends/_backend.py +44 -0
  297. numpy/f2py/_backends/_backend.pyi +46 -0
  298. numpy/f2py/_backends/_distutils.py +76 -0
  299. numpy/f2py/_backends/_distutils.pyi +13 -0
  300. numpy/f2py/_backends/_meson.py +244 -0
  301. numpy/f2py/_backends/_meson.pyi +62 -0
  302. numpy/f2py/_backends/meson.build.template +58 -0
  303. numpy/f2py/_isocbind.py +62 -0
  304. numpy/f2py/_isocbind.pyi +13 -0
  305. numpy/f2py/_src_pyf.py +247 -0
  306. numpy/f2py/_src_pyf.pyi +28 -0
  307. numpy/f2py/auxfuncs.py +1004 -0
  308. numpy/f2py/auxfuncs.pyi +262 -0
  309. numpy/f2py/capi_maps.py +811 -0
  310. numpy/f2py/capi_maps.pyi +33 -0
  311. numpy/f2py/cb_rules.py +665 -0
  312. numpy/f2py/cb_rules.pyi +17 -0
  313. numpy/f2py/cfuncs.py +1563 -0
  314. numpy/f2py/cfuncs.pyi +31 -0
  315. numpy/f2py/common_rules.py +143 -0
  316. numpy/f2py/common_rules.pyi +9 -0
  317. numpy/f2py/crackfortran.py +3725 -0
  318. numpy/f2py/crackfortran.pyi +266 -0
  319. numpy/f2py/diagnose.py +149 -0
  320. numpy/f2py/diagnose.pyi +1 -0
  321. numpy/f2py/f2py2e.py +788 -0
  322. numpy/f2py/f2py2e.pyi +74 -0
  323. numpy/f2py/f90mod_rules.py +269 -0
  324. numpy/f2py/f90mod_rules.pyi +16 -0
  325. numpy/f2py/func2subr.py +329 -0
  326. numpy/f2py/func2subr.pyi +7 -0
  327. numpy/f2py/rules.py +1629 -0
  328. numpy/f2py/rules.pyi +41 -0
  329. numpy/f2py/setup.cfg +3 -0
  330. numpy/f2py/src/fortranobject.c +1436 -0
  331. numpy/f2py/src/fortranobject.h +173 -0
  332. numpy/f2py/symbolic.py +1518 -0
  333. numpy/f2py/symbolic.pyi +219 -0
  334. numpy/f2py/tests/__init__.py +16 -0
  335. numpy/f2py/tests/src/abstract_interface/foo.f90 +34 -0
  336. numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 +6 -0
  337. numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +235 -0
  338. numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +1 -0
  339. numpy/f2py/tests/src/assumed_shape/foo_free.f90 +34 -0
  340. numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +41 -0
  341. numpy/f2py/tests/src/assumed_shape/foo_use.f90 +19 -0
  342. numpy/f2py/tests/src/assumed_shape/precision.f90 +4 -0
  343. numpy/f2py/tests/src/block_docstring/foo.f +6 -0
  344. numpy/f2py/tests/src/callback/foo.f +62 -0
  345. numpy/f2py/tests/src/callback/gh17797.f90 +7 -0
  346. numpy/f2py/tests/src/callback/gh18335.f90 +17 -0
  347. numpy/f2py/tests/src/callback/gh25211.f +10 -0
  348. numpy/f2py/tests/src/callback/gh25211.pyf +18 -0
  349. numpy/f2py/tests/src/callback/gh26681.f90 +18 -0
  350. numpy/f2py/tests/src/cli/gh_22819.pyf +6 -0
  351. numpy/f2py/tests/src/cli/hi77.f +3 -0
  352. numpy/f2py/tests/src/cli/hiworld.f90 +3 -0
  353. numpy/f2py/tests/src/common/block.f +11 -0
  354. numpy/f2py/tests/src/common/gh19161.f90 +10 -0
  355. numpy/f2py/tests/src/crackfortran/accesstype.f90 +13 -0
  356. numpy/f2py/tests/src/crackfortran/common_with_division.f +17 -0
  357. numpy/f2py/tests/src/crackfortran/data_common.f +8 -0
  358. numpy/f2py/tests/src/crackfortran/data_multiplier.f +5 -0
  359. numpy/f2py/tests/src/crackfortran/data_stmts.f90 +20 -0
  360. numpy/f2py/tests/src/crackfortran/data_with_comments.f +8 -0
  361. numpy/f2py/tests/src/crackfortran/foo_deps.f90 +6 -0
  362. numpy/f2py/tests/src/crackfortran/gh15035.f +16 -0
  363. numpy/f2py/tests/src/crackfortran/gh17859.f +12 -0
  364. numpy/f2py/tests/src/crackfortran/gh22648.pyf +7 -0
  365. numpy/f2py/tests/src/crackfortran/gh23533.f +5 -0
  366. numpy/f2py/tests/src/crackfortran/gh23598.f90 +4 -0
  367. numpy/f2py/tests/src/crackfortran/gh23598Warn.f90 +11 -0
  368. numpy/f2py/tests/src/crackfortran/gh23879.f90 +20 -0
  369. numpy/f2py/tests/src/crackfortran/gh27697.f90 +12 -0
  370. numpy/f2py/tests/src/crackfortran/gh2848.f90 +13 -0
  371. numpy/f2py/tests/src/crackfortran/operators.f90 +49 -0
  372. numpy/f2py/tests/src/crackfortran/privatemod.f90 +11 -0
  373. numpy/f2py/tests/src/crackfortran/publicmod.f90 +10 -0
  374. numpy/f2py/tests/src/crackfortran/pubprivmod.f90 +10 -0
  375. numpy/f2py/tests/src/crackfortran/unicode_comment.f90 +4 -0
  376. numpy/f2py/tests/src/f2cmap/.f2py_f2cmap +1 -0
  377. numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 +9 -0
  378. numpy/f2py/tests/src/isocintrin/isoCtests.f90 +34 -0
  379. numpy/f2py/tests/src/kind/foo.f90 +20 -0
  380. numpy/f2py/tests/src/mixed/foo.f +5 -0
  381. numpy/f2py/tests/src/mixed/foo_fixed.f90 +8 -0
  382. numpy/f2py/tests/src/mixed/foo_free.f90 +8 -0
  383. numpy/f2py/tests/src/modules/gh25337/data.f90 +8 -0
  384. numpy/f2py/tests/src/modules/gh25337/use_data.f90 +6 -0
  385. numpy/f2py/tests/src/modules/gh26920/two_mods_with_no_public_entities.f90 +21 -0
  386. numpy/f2py/tests/src/modules/gh26920/two_mods_with_one_public_routine.f90 +21 -0
  387. numpy/f2py/tests/src/modules/module_data_docstring.f90 +12 -0
  388. numpy/f2py/tests/src/modules/use_modules.f90 +20 -0
  389. numpy/f2py/tests/src/negative_bounds/issue_20853.f90 +7 -0
  390. numpy/f2py/tests/src/parameter/constant_array.f90 +45 -0
  391. numpy/f2py/tests/src/parameter/constant_both.f90 +57 -0
  392. numpy/f2py/tests/src/parameter/constant_compound.f90 +15 -0
  393. numpy/f2py/tests/src/parameter/constant_integer.f90 +22 -0
  394. numpy/f2py/tests/src/parameter/constant_non_compound.f90 +23 -0
  395. numpy/f2py/tests/src/parameter/constant_real.f90 +23 -0
  396. numpy/f2py/tests/src/quoted_character/foo.f +14 -0
  397. numpy/f2py/tests/src/regression/AB.inc +1 -0
  398. numpy/f2py/tests/src/regression/assignOnlyModule.f90 +25 -0
  399. numpy/f2py/tests/src/regression/datonly.f90 +17 -0
  400. numpy/f2py/tests/src/regression/f77comments.f +26 -0
  401. numpy/f2py/tests/src/regression/f77fixedform.f95 +5 -0
  402. numpy/f2py/tests/src/regression/f90continuation.f90 +9 -0
  403. numpy/f2py/tests/src/regression/incfile.f90 +5 -0
  404. numpy/f2py/tests/src/regression/inout.f90 +9 -0
  405. numpy/f2py/tests/src/regression/lower_f2py_fortran.f90 +5 -0
  406. numpy/f2py/tests/src/regression/mod_derived_types.f90 +23 -0
  407. numpy/f2py/tests/src/return_character/foo77.f +45 -0
  408. numpy/f2py/tests/src/return_character/foo90.f90 +48 -0
  409. numpy/f2py/tests/src/return_complex/foo77.f +45 -0
  410. numpy/f2py/tests/src/return_complex/foo90.f90 +48 -0
  411. numpy/f2py/tests/src/return_integer/foo77.f +56 -0
  412. numpy/f2py/tests/src/return_integer/foo90.f90 +59 -0
  413. numpy/f2py/tests/src/return_logical/foo77.f +56 -0
  414. numpy/f2py/tests/src/return_logical/foo90.f90 +59 -0
  415. numpy/f2py/tests/src/return_real/foo77.f +45 -0
  416. numpy/f2py/tests/src/return_real/foo90.f90 +48 -0
  417. numpy/f2py/tests/src/routines/funcfortranname.f +5 -0
  418. numpy/f2py/tests/src/routines/funcfortranname.pyf +11 -0
  419. numpy/f2py/tests/src/routines/subrout.f +4 -0
  420. numpy/f2py/tests/src/routines/subrout.pyf +10 -0
  421. numpy/f2py/tests/src/size/foo.f90 +44 -0
  422. numpy/f2py/tests/src/string/char.f90 +29 -0
  423. numpy/f2py/tests/src/string/fixed_string.f90 +34 -0
  424. numpy/f2py/tests/src/string/gh24008.f +8 -0
  425. numpy/f2py/tests/src/string/gh24662.f90 +7 -0
  426. numpy/f2py/tests/src/string/gh25286.f90 +14 -0
  427. numpy/f2py/tests/src/string/gh25286.pyf +12 -0
  428. numpy/f2py/tests/src/string/gh25286_bc.pyf +12 -0
  429. numpy/f2py/tests/src/string/scalar_string.f90 +9 -0
  430. numpy/f2py/tests/src/string/string.f +12 -0
  431. numpy/f2py/tests/src/value_attrspec/gh21665.f90 +9 -0
  432. numpy/f2py/tests/test_abstract_interface.py +26 -0
  433. numpy/f2py/tests/test_array_from_pyobj.py +678 -0
  434. numpy/f2py/tests/test_assumed_shape.py +50 -0
  435. numpy/f2py/tests/test_block_docstring.py +20 -0
  436. numpy/f2py/tests/test_callback.py +263 -0
  437. numpy/f2py/tests/test_character.py +641 -0
  438. numpy/f2py/tests/test_common.py +23 -0
  439. numpy/f2py/tests/test_crackfortran.py +421 -0
  440. numpy/f2py/tests/test_data.py +71 -0
  441. numpy/f2py/tests/test_docs.py +66 -0
  442. numpy/f2py/tests/test_f2cmap.py +17 -0
  443. numpy/f2py/tests/test_f2py2e.py +983 -0
  444. numpy/f2py/tests/test_isoc.py +56 -0
  445. numpy/f2py/tests/test_kind.py +52 -0
  446. numpy/f2py/tests/test_mixed.py +35 -0
  447. numpy/f2py/tests/test_modules.py +83 -0
  448. numpy/f2py/tests/test_parameter.py +129 -0
  449. numpy/f2py/tests/test_pyf_src.py +43 -0
  450. numpy/f2py/tests/test_quoted_character.py +18 -0
  451. numpy/f2py/tests/test_regression.py +187 -0
  452. numpy/f2py/tests/test_return_character.py +48 -0
  453. numpy/f2py/tests/test_return_complex.py +67 -0
  454. numpy/f2py/tests/test_return_integer.py +55 -0
  455. numpy/f2py/tests/test_return_logical.py +65 -0
  456. numpy/f2py/tests/test_return_real.py +109 -0
  457. numpy/f2py/tests/test_routines.py +29 -0
  458. numpy/f2py/tests/test_semicolon_split.py +75 -0
  459. numpy/f2py/tests/test_size.py +45 -0
  460. numpy/f2py/tests/test_string.py +100 -0
  461. numpy/f2py/tests/test_symbolic.py +500 -0
  462. numpy/f2py/tests/test_value_attrspec.py +15 -0
  463. numpy/f2py/tests/util.py +442 -0
  464. numpy/f2py/use_rules.py +99 -0
  465. numpy/f2py/use_rules.pyi +9 -0
  466. numpy/fft/__init__.py +213 -0
  467. numpy/fft/__init__.pyi +38 -0
  468. numpy/fft/_helper.py +235 -0
  469. numpy/fft/_helper.pyi +44 -0
  470. numpy/fft/_pocketfft.py +1693 -0
  471. numpy/fft/_pocketfft.pyi +137 -0
  472. numpy/fft/_pocketfft_umath.cp314t-win_arm64.lib +0 -0
  473. numpy/fft/_pocketfft_umath.cp314t-win_arm64.pyd +0 -0
  474. numpy/fft/tests/__init__.py +0 -0
  475. numpy/fft/tests/test_helper.py +167 -0
  476. numpy/fft/tests/test_pocketfft.py +589 -0
  477. numpy/lib/__init__.py +97 -0
  478. numpy/lib/__init__.pyi +52 -0
  479. numpy/lib/_array_utils_impl.py +62 -0
  480. numpy/lib/_array_utils_impl.pyi +10 -0
  481. numpy/lib/_arraypad_impl.py +926 -0
  482. numpy/lib/_arraypad_impl.pyi +88 -0
  483. numpy/lib/_arraysetops_impl.py +1158 -0
  484. numpy/lib/_arraysetops_impl.pyi +462 -0
  485. numpy/lib/_arrayterator_impl.py +224 -0
  486. numpy/lib/_arrayterator_impl.pyi +45 -0
  487. numpy/lib/_datasource.py +700 -0
  488. numpy/lib/_datasource.pyi +30 -0
  489. numpy/lib/_format_impl.py +1036 -0
  490. numpy/lib/_format_impl.pyi +56 -0
  491. numpy/lib/_function_base_impl.py +5760 -0
  492. numpy/lib/_function_base_impl.pyi +2324 -0
  493. numpy/lib/_histograms_impl.py +1085 -0
  494. numpy/lib/_histograms_impl.pyi +40 -0
  495. numpy/lib/_index_tricks_impl.py +1048 -0
  496. numpy/lib/_index_tricks_impl.pyi +267 -0
  497. numpy/lib/_iotools.py +900 -0
  498. numpy/lib/_iotools.pyi +116 -0
  499. numpy/lib/_nanfunctions_impl.py +2006 -0
  500. numpy/lib/_nanfunctions_impl.pyi +48 -0
  501. numpy/lib/_npyio_impl.py +2583 -0
  502. numpy/lib/_npyio_impl.pyi +299 -0
  503. numpy/lib/_polynomial_impl.py +1465 -0
  504. numpy/lib/_polynomial_impl.pyi +338 -0
  505. numpy/lib/_scimath_impl.py +642 -0
  506. numpy/lib/_scimath_impl.pyi +93 -0
  507. numpy/lib/_shape_base_impl.py +1289 -0
  508. numpy/lib/_shape_base_impl.pyi +236 -0
  509. numpy/lib/_stride_tricks_impl.py +582 -0
  510. numpy/lib/_stride_tricks_impl.pyi +73 -0
  511. numpy/lib/_twodim_base_impl.py +1201 -0
  512. numpy/lib/_twodim_base_impl.pyi +408 -0
  513. numpy/lib/_type_check_impl.py +710 -0
  514. numpy/lib/_type_check_impl.pyi +348 -0
  515. numpy/lib/_ufunclike_impl.py +199 -0
  516. numpy/lib/_ufunclike_impl.pyi +60 -0
  517. numpy/lib/_user_array_impl.py +310 -0
  518. numpy/lib/_user_array_impl.pyi +226 -0
  519. numpy/lib/_utils_impl.py +784 -0
  520. numpy/lib/_utils_impl.pyi +22 -0
  521. numpy/lib/_version.py +153 -0
  522. numpy/lib/_version.pyi +17 -0
  523. numpy/lib/array_utils.py +7 -0
  524. numpy/lib/array_utils.pyi +6 -0
  525. numpy/lib/format.py +24 -0
  526. numpy/lib/format.pyi +24 -0
  527. numpy/lib/introspect.py +94 -0
  528. numpy/lib/introspect.pyi +3 -0
  529. numpy/lib/mixins.py +180 -0
  530. numpy/lib/mixins.pyi +78 -0
  531. numpy/lib/npyio.py +1 -0
  532. numpy/lib/npyio.pyi +5 -0
  533. numpy/lib/recfunctions.py +1681 -0
  534. numpy/lib/recfunctions.pyi +444 -0
  535. numpy/lib/scimath.py +13 -0
  536. numpy/lib/scimath.pyi +12 -0
  537. numpy/lib/stride_tricks.py +1 -0
  538. numpy/lib/stride_tricks.pyi +4 -0
  539. numpy/lib/tests/__init__.py +0 -0
  540. numpy/lib/tests/data/py2-np0-objarr.npy +0 -0
  541. numpy/lib/tests/data/py2-objarr.npy +0 -0
  542. numpy/lib/tests/data/py2-objarr.npz +0 -0
  543. numpy/lib/tests/data/py3-objarr.npy +0 -0
  544. numpy/lib/tests/data/py3-objarr.npz +0 -0
  545. numpy/lib/tests/data/python3.npy +0 -0
  546. numpy/lib/tests/data/win64python2.npy +0 -0
  547. numpy/lib/tests/test__datasource.py +328 -0
  548. numpy/lib/tests/test__iotools.py +358 -0
  549. numpy/lib/tests/test__version.py +64 -0
  550. numpy/lib/tests/test_array_utils.py +32 -0
  551. numpy/lib/tests/test_arraypad.py +1427 -0
  552. numpy/lib/tests/test_arraysetops.py +1302 -0
  553. numpy/lib/tests/test_arrayterator.py +45 -0
  554. numpy/lib/tests/test_format.py +1054 -0
  555. numpy/lib/tests/test_function_base.py +4750 -0
  556. numpy/lib/tests/test_histograms.py +855 -0
  557. numpy/lib/tests/test_index_tricks.py +693 -0
  558. numpy/lib/tests/test_io.py +2857 -0
  559. numpy/lib/tests/test_loadtxt.py +1099 -0
  560. numpy/lib/tests/test_mixins.py +215 -0
  561. numpy/lib/tests/test_nanfunctions.py +1438 -0
  562. numpy/lib/tests/test_packbits.py +376 -0
  563. numpy/lib/tests/test_polynomial.py +325 -0
  564. numpy/lib/tests/test_recfunctions.py +1042 -0
  565. numpy/lib/tests/test_regression.py +231 -0
  566. numpy/lib/tests/test_shape_base.py +813 -0
  567. numpy/lib/tests/test_stride_tricks.py +655 -0
  568. numpy/lib/tests/test_twodim_base.py +559 -0
  569. numpy/lib/tests/test_type_check.py +473 -0
  570. numpy/lib/tests/test_ufunclike.py +97 -0
  571. numpy/lib/tests/test_utils.py +80 -0
  572. numpy/lib/user_array.py +1 -0
  573. numpy/lib/user_array.pyi +1 -0
  574. numpy/linalg/__init__.py +95 -0
  575. numpy/linalg/__init__.pyi +71 -0
  576. numpy/linalg/_linalg.py +3657 -0
  577. numpy/linalg/_linalg.pyi +548 -0
  578. numpy/linalg/_umath_linalg.cp314t-win_arm64.lib +0 -0
  579. numpy/linalg/_umath_linalg.cp314t-win_arm64.pyd +0 -0
  580. numpy/linalg/_umath_linalg.pyi +60 -0
  581. numpy/linalg/lapack_lite.cp314t-win_arm64.lib +0 -0
  582. numpy/linalg/lapack_lite.cp314t-win_arm64.pyd +0 -0
  583. numpy/linalg/lapack_lite.pyi +143 -0
  584. numpy/linalg/tests/__init__.py +0 -0
  585. numpy/linalg/tests/test_deprecations.py +21 -0
  586. numpy/linalg/tests/test_linalg.py +2442 -0
  587. numpy/linalg/tests/test_regression.py +182 -0
  588. numpy/ma/API_CHANGES.txt +135 -0
  589. numpy/ma/LICENSE +24 -0
  590. numpy/ma/README.rst +236 -0
  591. numpy/ma/__init__.py +53 -0
  592. numpy/ma/__init__.pyi +458 -0
  593. numpy/ma/core.py +8929 -0
  594. numpy/ma/core.pyi +3720 -0
  595. numpy/ma/extras.py +2266 -0
  596. numpy/ma/extras.pyi +297 -0
  597. numpy/ma/mrecords.py +762 -0
  598. numpy/ma/mrecords.pyi +96 -0
  599. numpy/ma/tests/__init__.py +0 -0
  600. numpy/ma/tests/test_arrayobject.py +40 -0
  601. numpy/ma/tests/test_core.py +6008 -0
  602. numpy/ma/tests/test_deprecations.py +65 -0
  603. numpy/ma/tests/test_extras.py +1945 -0
  604. numpy/ma/tests/test_mrecords.py +495 -0
  605. numpy/ma/tests/test_old_ma.py +939 -0
  606. numpy/ma/tests/test_regression.py +83 -0
  607. numpy/ma/tests/test_subclassing.py +469 -0
  608. numpy/ma/testutils.py +294 -0
  609. numpy/ma/testutils.pyi +69 -0
  610. numpy/matlib.py +380 -0
  611. numpy/matlib.pyi +580 -0
  612. numpy/matrixlib/__init__.py +12 -0
  613. numpy/matrixlib/__init__.pyi +3 -0
  614. numpy/matrixlib/defmatrix.py +1119 -0
  615. numpy/matrixlib/defmatrix.pyi +218 -0
  616. numpy/matrixlib/tests/__init__.py +0 -0
  617. numpy/matrixlib/tests/test_defmatrix.py +455 -0
  618. numpy/matrixlib/tests/test_interaction.py +360 -0
  619. numpy/matrixlib/tests/test_masked_matrix.py +240 -0
  620. numpy/matrixlib/tests/test_matrix_linalg.py +110 -0
  621. numpy/matrixlib/tests/test_multiarray.py +17 -0
  622. numpy/matrixlib/tests/test_numeric.py +18 -0
  623. numpy/matrixlib/tests/test_regression.py +31 -0
  624. numpy/polynomial/__init__.py +187 -0
  625. numpy/polynomial/__init__.pyi +31 -0
  626. numpy/polynomial/_polybase.py +1191 -0
  627. numpy/polynomial/_polybase.pyi +262 -0
  628. numpy/polynomial/_polytypes.pyi +501 -0
  629. numpy/polynomial/chebyshev.py +2001 -0
  630. numpy/polynomial/chebyshev.pyi +180 -0
  631. numpy/polynomial/hermite.py +1738 -0
  632. numpy/polynomial/hermite.pyi +106 -0
  633. numpy/polynomial/hermite_e.py +1640 -0
  634. numpy/polynomial/hermite_e.pyi +106 -0
  635. numpy/polynomial/laguerre.py +1673 -0
  636. numpy/polynomial/laguerre.pyi +100 -0
  637. numpy/polynomial/legendre.py +1603 -0
  638. numpy/polynomial/legendre.pyi +100 -0
  639. numpy/polynomial/polynomial.py +1625 -0
  640. numpy/polynomial/polynomial.pyi +109 -0
  641. numpy/polynomial/polyutils.py +759 -0
  642. numpy/polynomial/polyutils.pyi +307 -0
  643. numpy/polynomial/tests/__init__.py +0 -0
  644. numpy/polynomial/tests/test_chebyshev.py +618 -0
  645. numpy/polynomial/tests/test_classes.py +613 -0
  646. numpy/polynomial/tests/test_hermite.py +553 -0
  647. numpy/polynomial/tests/test_hermite_e.py +554 -0
  648. numpy/polynomial/tests/test_laguerre.py +535 -0
  649. numpy/polynomial/tests/test_legendre.py +566 -0
  650. numpy/polynomial/tests/test_polynomial.py +691 -0
  651. numpy/polynomial/tests/test_polyutils.py +123 -0
  652. numpy/polynomial/tests/test_printing.py +557 -0
  653. numpy/polynomial/tests/test_symbol.py +217 -0
  654. numpy/py.typed +0 -0
  655. numpy/random/LICENSE.md +71 -0
  656. numpy/random/__init__.pxd +14 -0
  657. numpy/random/__init__.py +213 -0
  658. numpy/random/__init__.pyi +124 -0
  659. numpy/random/_bounded_integers.cp314t-win_arm64.lib +0 -0
  660. numpy/random/_bounded_integers.cp314t-win_arm64.pyd +0 -0
  661. numpy/random/_bounded_integers.pxd +38 -0
  662. numpy/random/_bounded_integers.pyi +1 -0
  663. numpy/random/_common.cp314t-win_arm64.lib +0 -0
  664. numpy/random/_common.cp314t-win_arm64.pyd +0 -0
  665. numpy/random/_common.pxd +110 -0
  666. numpy/random/_common.pyi +16 -0
  667. numpy/random/_examples/cffi/extending.py +44 -0
  668. numpy/random/_examples/cffi/parse.py +53 -0
  669. numpy/random/_examples/cython/extending.pyx +77 -0
  670. numpy/random/_examples/cython/extending_distributions.pyx +117 -0
  671. numpy/random/_examples/cython/meson.build +53 -0
  672. numpy/random/_examples/numba/extending.py +86 -0
  673. numpy/random/_examples/numba/extending_distributions.py +67 -0
  674. numpy/random/_generator.cp314t-win_arm64.lib +0 -0
  675. numpy/random/_generator.cp314t-win_arm64.pyd +0 -0
  676. numpy/random/_generator.pyi +862 -0
  677. numpy/random/_mt19937.cp314t-win_arm64.lib +0 -0
  678. numpy/random/_mt19937.cp314t-win_arm64.pyd +0 -0
  679. numpy/random/_mt19937.pyi +27 -0
  680. numpy/random/_pcg64.cp314t-win_arm64.lib +0 -0
  681. numpy/random/_pcg64.cp314t-win_arm64.pyd +0 -0
  682. numpy/random/_pcg64.pyi +41 -0
  683. numpy/random/_philox.cp314t-win_arm64.lib +0 -0
  684. numpy/random/_philox.cp314t-win_arm64.pyd +0 -0
  685. numpy/random/_philox.pyi +36 -0
  686. numpy/random/_pickle.py +88 -0
  687. numpy/random/_pickle.pyi +43 -0
  688. numpy/random/_sfc64.cp314t-win_arm64.lib +0 -0
  689. numpy/random/_sfc64.cp314t-win_arm64.pyd +0 -0
  690. numpy/random/_sfc64.pyi +25 -0
  691. numpy/random/bit_generator.cp314t-win_arm64.lib +0 -0
  692. numpy/random/bit_generator.cp314t-win_arm64.pyd +0 -0
  693. numpy/random/bit_generator.pxd +40 -0
  694. numpy/random/bit_generator.pyi +123 -0
  695. numpy/random/c_distributions.pxd +119 -0
  696. numpy/random/lib/npyrandom.lib +0 -0
  697. numpy/random/mtrand.cp314t-win_arm64.lib +0 -0
  698. numpy/random/mtrand.cp314t-win_arm64.pyd +0 -0
  699. numpy/random/mtrand.pyi +759 -0
  700. numpy/random/tests/__init__.py +0 -0
  701. numpy/random/tests/data/__init__.py +0 -0
  702. numpy/random/tests/data/generator_pcg64_np121.pkl.gz +0 -0
  703. numpy/random/tests/data/generator_pcg64_np126.pkl.gz +0 -0
  704. numpy/random/tests/data/mt19937-testset-1.csv +1001 -0
  705. numpy/random/tests/data/mt19937-testset-2.csv +1001 -0
  706. numpy/random/tests/data/pcg64-testset-1.csv +1001 -0
  707. numpy/random/tests/data/pcg64-testset-2.csv +1001 -0
  708. numpy/random/tests/data/pcg64dxsm-testset-1.csv +1001 -0
  709. numpy/random/tests/data/pcg64dxsm-testset-2.csv +1001 -0
  710. numpy/random/tests/data/philox-testset-1.csv +1001 -0
  711. numpy/random/tests/data/philox-testset-2.csv +1001 -0
  712. numpy/random/tests/data/sfc64-testset-1.csv +1001 -0
  713. numpy/random/tests/data/sfc64-testset-2.csv +1001 -0
  714. numpy/random/tests/data/sfc64_np126.pkl.gz +0 -0
  715. numpy/random/tests/test_direct.py +595 -0
  716. numpy/random/tests/test_extending.py +131 -0
  717. numpy/random/tests/test_generator_mt19937.py +2825 -0
  718. numpy/random/tests/test_generator_mt19937_regressions.py +221 -0
  719. numpy/random/tests/test_random.py +1724 -0
  720. numpy/random/tests/test_randomstate.py +2099 -0
  721. numpy/random/tests/test_randomstate_regression.py +213 -0
  722. numpy/random/tests/test_regression.py +175 -0
  723. numpy/random/tests/test_seed_sequence.py +79 -0
  724. numpy/random/tests/test_smoke.py +882 -0
  725. numpy/rec/__init__.py +2 -0
  726. numpy/rec/__init__.pyi +23 -0
  727. numpy/strings/__init__.py +2 -0
  728. numpy/strings/__init__.pyi +97 -0
  729. numpy/testing/__init__.py +22 -0
  730. numpy/testing/__init__.pyi +107 -0
  731. numpy/testing/_private/__init__.py +0 -0
  732. numpy/testing/_private/__init__.pyi +0 -0
  733. numpy/testing/_private/extbuild.py +250 -0
  734. numpy/testing/_private/extbuild.pyi +25 -0
  735. numpy/testing/_private/utils.py +2830 -0
  736. numpy/testing/_private/utils.pyi +505 -0
  737. numpy/testing/overrides.py +84 -0
  738. numpy/testing/overrides.pyi +10 -0
  739. numpy/testing/print_coercion_tables.py +207 -0
  740. numpy/testing/print_coercion_tables.pyi +26 -0
  741. numpy/testing/tests/__init__.py +0 -0
  742. numpy/testing/tests/test_utils.py +2123 -0
  743. numpy/tests/__init__.py +0 -0
  744. numpy/tests/test__all__.py +10 -0
  745. numpy/tests/test_configtool.py +51 -0
  746. numpy/tests/test_ctypeslib.py +383 -0
  747. numpy/tests/test_lazyloading.py +42 -0
  748. numpy/tests/test_matlib.py +59 -0
  749. numpy/tests/test_numpy_config.py +47 -0
  750. numpy/tests/test_numpy_version.py +54 -0
  751. numpy/tests/test_public_api.py +807 -0
  752. numpy/tests/test_reloading.py +76 -0
  753. numpy/tests/test_scripts.py +48 -0
  754. numpy/tests/test_warnings.py +79 -0
  755. numpy/typing/__init__.py +233 -0
  756. numpy/typing/__init__.pyi +3 -0
  757. numpy/typing/mypy_plugin.py +200 -0
  758. numpy/typing/tests/__init__.py +0 -0
  759. numpy/typing/tests/data/fail/arithmetic.pyi +126 -0
  760. numpy/typing/tests/data/fail/array_constructors.pyi +34 -0
  761. numpy/typing/tests/data/fail/array_like.pyi +15 -0
  762. numpy/typing/tests/data/fail/array_pad.pyi +6 -0
  763. numpy/typing/tests/data/fail/arrayprint.pyi +15 -0
  764. numpy/typing/tests/data/fail/arrayterator.pyi +14 -0
  765. numpy/typing/tests/data/fail/bitwise_ops.pyi +17 -0
  766. numpy/typing/tests/data/fail/char.pyi +63 -0
  767. numpy/typing/tests/data/fail/chararray.pyi +61 -0
  768. numpy/typing/tests/data/fail/comparisons.pyi +27 -0
  769. numpy/typing/tests/data/fail/constants.pyi +3 -0
  770. numpy/typing/tests/data/fail/datasource.pyi +16 -0
  771. numpy/typing/tests/data/fail/dtype.pyi +17 -0
  772. numpy/typing/tests/data/fail/einsumfunc.pyi +12 -0
  773. numpy/typing/tests/data/fail/flatiter.pyi +38 -0
  774. numpy/typing/tests/data/fail/fromnumeric.pyi +148 -0
  775. numpy/typing/tests/data/fail/histograms.pyi +12 -0
  776. numpy/typing/tests/data/fail/index_tricks.pyi +14 -0
  777. numpy/typing/tests/data/fail/lib_function_base.pyi +60 -0
  778. numpy/typing/tests/data/fail/lib_polynomial.pyi +29 -0
  779. numpy/typing/tests/data/fail/lib_utils.pyi +3 -0
  780. numpy/typing/tests/data/fail/lib_version.pyi +6 -0
  781. numpy/typing/tests/data/fail/linalg.pyi +52 -0
  782. numpy/typing/tests/data/fail/ma.pyi +155 -0
  783. numpy/typing/tests/data/fail/memmap.pyi +5 -0
  784. numpy/typing/tests/data/fail/modules.pyi +17 -0
  785. numpy/typing/tests/data/fail/multiarray.pyi +52 -0
  786. numpy/typing/tests/data/fail/ndarray.pyi +11 -0
  787. numpy/typing/tests/data/fail/ndarray_misc.pyi +49 -0
  788. numpy/typing/tests/data/fail/nditer.pyi +8 -0
  789. numpy/typing/tests/data/fail/nested_sequence.pyi +17 -0
  790. numpy/typing/tests/data/fail/npyio.pyi +24 -0
  791. numpy/typing/tests/data/fail/numerictypes.pyi +5 -0
  792. numpy/typing/tests/data/fail/random.pyi +62 -0
  793. numpy/typing/tests/data/fail/rec.pyi +17 -0
  794. numpy/typing/tests/data/fail/scalars.pyi +86 -0
  795. numpy/typing/tests/data/fail/shape.pyi +7 -0
  796. numpy/typing/tests/data/fail/shape_base.pyi +8 -0
  797. numpy/typing/tests/data/fail/stride_tricks.pyi +9 -0
  798. numpy/typing/tests/data/fail/strings.pyi +52 -0
  799. numpy/typing/tests/data/fail/testing.pyi +28 -0
  800. numpy/typing/tests/data/fail/twodim_base.pyi +39 -0
  801. numpy/typing/tests/data/fail/type_check.pyi +12 -0
  802. numpy/typing/tests/data/fail/ufunc_config.pyi +21 -0
  803. numpy/typing/tests/data/fail/ufunclike.pyi +21 -0
  804. numpy/typing/tests/data/fail/ufuncs.pyi +17 -0
  805. numpy/typing/tests/data/fail/warnings_and_errors.pyi +5 -0
  806. numpy/typing/tests/data/misc/extended_precision.pyi +9 -0
  807. numpy/typing/tests/data/mypy.ini +8 -0
  808. numpy/typing/tests/data/pass/arithmetic.py +614 -0
  809. numpy/typing/tests/data/pass/array_constructors.py +138 -0
  810. numpy/typing/tests/data/pass/array_like.py +43 -0
  811. numpy/typing/tests/data/pass/arrayprint.py +37 -0
  812. numpy/typing/tests/data/pass/arrayterator.py +28 -0
  813. numpy/typing/tests/data/pass/bitwise_ops.py +131 -0
  814. numpy/typing/tests/data/pass/comparisons.py +316 -0
  815. numpy/typing/tests/data/pass/dtype.py +57 -0
  816. numpy/typing/tests/data/pass/einsumfunc.py +36 -0
  817. numpy/typing/tests/data/pass/flatiter.py +26 -0
  818. numpy/typing/tests/data/pass/fromnumeric.py +272 -0
  819. numpy/typing/tests/data/pass/index_tricks.py +62 -0
  820. numpy/typing/tests/data/pass/lib_user_array.py +22 -0
  821. numpy/typing/tests/data/pass/lib_utils.py +19 -0
  822. numpy/typing/tests/data/pass/lib_version.py +18 -0
  823. numpy/typing/tests/data/pass/literal.py +52 -0
  824. numpy/typing/tests/data/pass/ma.py +199 -0
  825. numpy/typing/tests/data/pass/mod.py +149 -0
  826. numpy/typing/tests/data/pass/modules.py +45 -0
  827. numpy/typing/tests/data/pass/multiarray.py +77 -0
  828. numpy/typing/tests/data/pass/ndarray_conversion.py +81 -0
  829. numpy/typing/tests/data/pass/ndarray_misc.py +199 -0
  830. numpy/typing/tests/data/pass/ndarray_shape_manipulation.py +47 -0
  831. numpy/typing/tests/data/pass/nditer.py +4 -0
  832. numpy/typing/tests/data/pass/numeric.py +90 -0
  833. numpy/typing/tests/data/pass/numerictypes.py +17 -0
  834. numpy/typing/tests/data/pass/random.py +1498 -0
  835. numpy/typing/tests/data/pass/recfunctions.py +164 -0
  836. numpy/typing/tests/data/pass/scalars.py +249 -0
  837. numpy/typing/tests/data/pass/shape.py +19 -0
  838. numpy/typing/tests/data/pass/simple.py +170 -0
  839. numpy/typing/tests/data/pass/ufunc_config.py +64 -0
  840. numpy/typing/tests/data/pass/ufunclike.py +52 -0
  841. numpy/typing/tests/data/pass/ufuncs.py +16 -0
  842. numpy/typing/tests/data/pass/warnings_and_errors.py +6 -0
  843. numpy/typing/tests/data/reveal/arithmetic.pyi +719 -0
  844. numpy/typing/tests/data/reveal/array_api_info.pyi +70 -0
  845. numpy/typing/tests/data/reveal/array_constructors.pyi +277 -0
  846. numpy/typing/tests/data/reveal/arraypad.pyi +27 -0
  847. numpy/typing/tests/data/reveal/arrayprint.pyi +25 -0
  848. numpy/typing/tests/data/reveal/arraysetops.pyi +74 -0
  849. numpy/typing/tests/data/reveal/arrayterator.pyi +27 -0
  850. numpy/typing/tests/data/reveal/bitwise_ops.pyi +166 -0
  851. numpy/typing/tests/data/reveal/char.pyi +225 -0
  852. numpy/typing/tests/data/reveal/chararray.pyi +138 -0
  853. numpy/typing/tests/data/reveal/comparisons.pyi +264 -0
  854. numpy/typing/tests/data/reveal/constants.pyi +14 -0
  855. numpy/typing/tests/data/reveal/ctypeslib.pyi +81 -0
  856. numpy/typing/tests/data/reveal/datasource.pyi +23 -0
  857. numpy/typing/tests/data/reveal/dtype.pyi +132 -0
  858. numpy/typing/tests/data/reveal/einsumfunc.pyi +39 -0
  859. numpy/typing/tests/data/reveal/emath.pyi +54 -0
  860. numpy/typing/tests/data/reveal/fft.pyi +37 -0
  861. numpy/typing/tests/data/reveal/flatiter.pyi +86 -0
  862. numpy/typing/tests/data/reveal/fromnumeric.pyi +347 -0
  863. numpy/typing/tests/data/reveal/getlimits.pyi +53 -0
  864. numpy/typing/tests/data/reveal/histograms.pyi +25 -0
  865. numpy/typing/tests/data/reveal/index_tricks.pyi +70 -0
  866. numpy/typing/tests/data/reveal/lib_function_base.pyi +409 -0
  867. numpy/typing/tests/data/reveal/lib_polynomial.pyi +147 -0
  868. numpy/typing/tests/data/reveal/lib_utils.pyi +17 -0
  869. numpy/typing/tests/data/reveal/lib_version.pyi +20 -0
  870. numpy/typing/tests/data/reveal/linalg.pyi +154 -0
  871. numpy/typing/tests/data/reveal/ma.pyi +1098 -0
  872. numpy/typing/tests/data/reveal/matrix.pyi +73 -0
  873. numpy/typing/tests/data/reveal/memmap.pyi +19 -0
  874. numpy/typing/tests/data/reveal/mod.pyi +178 -0
  875. numpy/typing/tests/data/reveal/modules.pyi +51 -0
  876. numpy/typing/tests/data/reveal/multiarray.pyi +197 -0
  877. numpy/typing/tests/data/reveal/nbit_base_example.pyi +20 -0
  878. numpy/typing/tests/data/reveal/ndarray_assignability.pyi +82 -0
  879. numpy/typing/tests/data/reveal/ndarray_conversion.pyi +83 -0
  880. numpy/typing/tests/data/reveal/ndarray_misc.pyi +246 -0
  881. numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi +47 -0
  882. numpy/typing/tests/data/reveal/nditer.pyi +49 -0
  883. numpy/typing/tests/data/reveal/nested_sequence.pyi +25 -0
  884. numpy/typing/tests/data/reveal/npyio.pyi +83 -0
  885. numpy/typing/tests/data/reveal/numeric.pyi +170 -0
  886. numpy/typing/tests/data/reveal/numerictypes.pyi +16 -0
  887. numpy/typing/tests/data/reveal/polynomial_polybase.pyi +217 -0
  888. numpy/typing/tests/data/reveal/polynomial_polyutils.pyi +218 -0
  889. numpy/typing/tests/data/reveal/polynomial_series.pyi +138 -0
  890. numpy/typing/tests/data/reveal/random.pyi +1546 -0
  891. numpy/typing/tests/data/reveal/rec.pyi +171 -0
  892. numpy/typing/tests/data/reveal/scalars.pyi +191 -0
  893. numpy/typing/tests/data/reveal/shape.pyi +13 -0
  894. numpy/typing/tests/data/reveal/shape_base.pyi +52 -0
  895. numpy/typing/tests/data/reveal/stride_tricks.pyi +27 -0
  896. numpy/typing/tests/data/reveal/strings.pyi +196 -0
  897. numpy/typing/tests/data/reveal/testing.pyi +198 -0
  898. numpy/typing/tests/data/reveal/twodim_base.pyi +225 -0
  899. numpy/typing/tests/data/reveal/type_check.pyi +67 -0
  900. numpy/typing/tests/data/reveal/ufunc_config.pyi +29 -0
  901. numpy/typing/tests/data/reveal/ufunclike.pyi +31 -0
  902. numpy/typing/tests/data/reveal/ufuncs.pyi +142 -0
  903. numpy/typing/tests/data/reveal/warnings_and_errors.pyi +11 -0
  904. numpy/typing/tests/test_isfile.py +38 -0
  905. numpy/typing/tests/test_runtime.py +110 -0
  906. numpy/typing/tests/test_typing.py +205 -0
  907. numpy/version.py +11 -0
  908. numpy/version.pyi +9 -0
  909. numpy-2.4.1.dist-info/DELVEWHEEL +2 -0
  910. numpy-2.4.1.dist-info/METADATA +139 -0
  911. numpy-2.4.1.dist-info/RECORD +932 -0
  912. numpy-2.4.1.dist-info/WHEEL +4 -0
  913. numpy-2.4.1.dist-info/entry_points.txt +13 -0
  914. numpy-2.4.1.dist-info/licenses/LICENSE.txt +914 -0
  915. numpy-2.4.1.dist-info/licenses/numpy/_core/include/numpy/libdivide/LICENSE.txt +21 -0
  916. numpy-2.4.1.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/COPYING +14 -0
  917. numpy-2.4.1.dist-info/licenses/numpy/_core/src/highway/LICENSE +371 -0
  918. numpy-2.4.1.dist-info/licenses/numpy/_core/src/multiarray/dragon4_LICENSE.txt +27 -0
  919. numpy-2.4.1.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/LICENSE.md +28 -0
  920. numpy-2.4.1.dist-info/licenses/numpy/_core/src/umath/svml/LICENSE +30 -0
  921. numpy-2.4.1.dist-info/licenses/numpy/fft/pocketfft/LICENSE.md +25 -0
  922. numpy-2.4.1.dist-info/licenses/numpy/linalg/lapack_lite/LICENSE.txt +48 -0
  923. numpy-2.4.1.dist-info/licenses/numpy/ma/LICENSE +24 -0
  924. numpy-2.4.1.dist-info/licenses/numpy/random/LICENSE.md +71 -0
  925. numpy-2.4.1.dist-info/licenses/numpy/random/src/distributions/LICENSE.md +61 -0
  926. numpy-2.4.1.dist-info/licenses/numpy/random/src/mt19937/LICENSE.md +61 -0
  927. numpy-2.4.1.dist-info/licenses/numpy/random/src/pcg64/LICENSE.md +22 -0
  928. numpy-2.4.1.dist-info/licenses/numpy/random/src/philox/LICENSE.md +31 -0
  929. numpy-2.4.1.dist-info/licenses/numpy/random/src/sfc64/LICENSE.md +27 -0
  930. numpy-2.4.1.dist-info/licenses/numpy/random/src/splitmix64/LICENSE.md +9 -0
  931. numpy.libs/msvcp140-5f1c5dd31916990d94181e07bc3afb32.dll +0 -0
  932. numpy.libs/scipy_openblas-7b69cbfd2599e6035f1310f2a72d59a6.dll +0 -0
@@ -0,0 +1,989 @@
1
+ #ifndef NUMPY_CORE_INCLUDE_NUMPY_NPY_COMMON_H_
2
+ #define NUMPY_CORE_INCLUDE_NUMPY_NPY_COMMON_H_
3
+
4
+ /* need Python.h for npy_intp, npy_uintp */
5
+ #include <Python.h>
6
+
7
+ /* numpconfig.h is auto-generated */
8
+ #include "numpyconfig.h"
9
+ #ifdef HAVE_NPY_CONFIG_H
10
+ #include <npy_config.h>
11
+ #endif
12
+
13
+ /*
14
+ * using static inline modifiers when defining npy_math functions
15
+ * allows the compiler to make optimizations when possible
16
+ */
17
+ #ifndef NPY_INLINE_MATH
18
+ #if defined(NPY_INTERNAL_BUILD) && NPY_INTERNAL_BUILD
19
+ #define NPY_INLINE_MATH 1
20
+ #else
21
+ #define NPY_INLINE_MATH 0
22
+ #endif
23
+ #endif
24
+
25
+ /*
26
+ * gcc does not unroll even with -O3
27
+ * use with care, unrolling on modern cpus rarely speeds things up
28
+ */
29
+ #ifdef HAVE_ATTRIBUTE_OPTIMIZE_UNROLL_LOOPS
30
+ #define NPY_GCC_UNROLL_LOOPS \
31
+ __attribute__((optimize("unroll-loops")))
32
+ #else
33
+ #define NPY_GCC_UNROLL_LOOPS
34
+ #endif
35
+
36
+ /* highest gcc optimization level, enabled autovectorizer */
37
+ #ifdef HAVE_ATTRIBUTE_OPTIMIZE_OPT_3
38
+ #define NPY_GCC_OPT_3 __attribute__((optimize("O3")))
39
+ #else
40
+ #define NPY_GCC_OPT_3
41
+ #endif
42
+
43
+ /*
44
+ * mark an argument (starting from 1) that must not be NULL and is not checked
45
+ * DO NOT USE IF FUNCTION CHECKS FOR NULL!! the compiler will remove the check
46
+ */
47
+ #ifdef HAVE_ATTRIBUTE_NONNULL
48
+ #define NPY_GCC_NONNULL(n) __attribute__((nonnull(n)))
49
+ #else
50
+ #define NPY_GCC_NONNULL(n)
51
+ #endif
52
+
53
+ /*
54
+ * give a hint to the compiler which branch is more likely or unlikely
55
+ * to occur, e.g. rare error cases:
56
+ *
57
+ * if (NPY_UNLIKELY(failure == 0))
58
+ * return NULL;
59
+ *
60
+ * the double !! is to cast the expression (e.g. NULL) to a boolean required by
61
+ * the intrinsic
62
+ */
63
+ #ifdef HAVE___BUILTIN_EXPECT
64
+ #define NPY_LIKELY(x) __builtin_expect(!!(x), 1)
65
+ #define NPY_UNLIKELY(x) __builtin_expect(!!(x), 0)
66
+ #else
67
+ #define NPY_LIKELY(x) (x)
68
+ #define NPY_UNLIKELY(x) (x)
69
+ #endif
70
+
71
+ #ifdef HAVE___BUILTIN_PREFETCH
72
+ /* unlike _mm_prefetch also works on non-x86 */
73
+ #define NPY_PREFETCH(x, rw, loc) __builtin_prefetch((x), (rw), (loc))
74
+ #else
75
+ #ifdef NPY_HAVE_SSE
76
+ /* _MM_HINT_ET[01] (rw = 1) unsupported, only available in gcc >= 4.9 */
77
+ #define NPY_PREFETCH(x, rw, loc) _mm_prefetch((x), loc == 0 ? _MM_HINT_NTA : \
78
+ (loc == 1 ? _MM_HINT_T2 : \
79
+ (loc == 2 ? _MM_HINT_T1 : \
80
+ (loc == 3 ? _MM_HINT_T0 : -1))))
81
+ #else
82
+ #define NPY_PREFETCH(x, rw,loc)
83
+ #endif
84
+ #endif
85
+
86
+ /* `NPY_INLINE` kept for backwards compatibility; use `inline` instead */
87
+ #if defined(_MSC_VER) && !defined(__clang__)
88
+ #define NPY_INLINE __inline
89
+ /* clang included here to handle clang-cl on Windows */
90
+ #elif defined(__GNUC__) || defined(__clang__)
91
+ #if defined(__STRICT_ANSI__)
92
+ #define NPY_INLINE __inline__
93
+ #else
94
+ #define NPY_INLINE inline
95
+ #endif
96
+ #else
97
+ #define NPY_INLINE
98
+ #endif
99
+
100
+ #ifdef _MSC_VER
101
+ #ifdef __cplusplus
102
+ #define NPY_FINLINE __forceinline
103
+ #else
104
+ #define NPY_FINLINE static __forceinline
105
+ #endif
106
+ #elif defined(__GNUC__)
107
+ #ifdef __cplusplus
108
+ #define NPY_FINLINE inline __attribute__((always_inline))
109
+ #else
110
+ #define NPY_FINLINE static inline __attribute__((always_inline))
111
+ #endif
112
+ #else
113
+ #ifdef __cplusplus
114
+ #define NPY_FINLINE inline
115
+ #else
116
+ #define NPY_FINLINE static NPY_INLINE
117
+ #endif
118
+ #endif
119
+
120
+ #if defined(_MSC_VER)
121
+ #define NPY_NOINLINE static __declspec(noinline)
122
+ #elif defined(__GNUC__) || defined(__clang__)
123
+ #define NPY_NOINLINE static __attribute__((noinline))
124
+ #else
125
+ #define NPY_NOINLINE static
126
+ #endif
127
+
128
+ #ifdef __cplusplus
129
+ #define NPY_TLS thread_local
130
+ #elif defined(HAVE_THREAD_LOCAL)
131
+ #define NPY_TLS thread_local
132
+ #elif defined(HAVE__THREAD_LOCAL)
133
+ #define NPY_TLS _Thread_local
134
+ #elif defined(HAVE___THREAD)
135
+ #define NPY_TLS __thread
136
+ #elif defined(HAVE___DECLSPEC_THREAD_)
137
+ #define NPY_TLS __declspec(thread)
138
+ #else
139
+ #define NPY_TLS
140
+ #endif
141
+
142
+ #ifdef WITH_CPYCHECKER_RETURNS_BORROWED_REF_ATTRIBUTE
143
+ #define NPY_RETURNS_BORROWED_REF \
144
+ __attribute__((cpychecker_returns_borrowed_ref))
145
+ #else
146
+ #define NPY_RETURNS_BORROWED_REF
147
+ #endif
148
+
149
+ #ifdef WITH_CPYCHECKER_STEALS_REFERENCE_TO_ARG_ATTRIBUTE
150
+ #define NPY_STEALS_REF_TO_ARG(n) \
151
+ __attribute__((cpychecker_steals_reference_to_arg(n)))
152
+ #else
153
+ #define NPY_STEALS_REF_TO_ARG(n)
154
+ #endif
155
+
156
+ /* 64 bit file position support, also on win-amd64. Issue gh-2256 */
157
+ #if defined(_MSC_VER) && defined(_WIN64) && (_MSC_VER > 1400) || \
158
+ defined(__MINGW32__) || defined(__MINGW64__)
159
+ #include <io.h>
160
+
161
+ #define npy_fseek _fseeki64
162
+ #define npy_ftell _ftelli64
163
+ #define npy_lseek _lseeki64
164
+ #define npy_off_t npy_int64
165
+
166
+ #if NPY_SIZEOF_INT == 8
167
+ #define NPY_OFF_T_PYFMT "i"
168
+ #elif NPY_SIZEOF_LONG == 8
169
+ #define NPY_OFF_T_PYFMT "l"
170
+ #elif NPY_SIZEOF_LONGLONG == 8
171
+ #define NPY_OFF_T_PYFMT "L"
172
+ #else
173
+ #error Unsupported size for type off_t
174
+ #endif
175
+ #else
176
+ #ifdef HAVE_FSEEKO
177
+ #define npy_fseek fseeko
178
+ #else
179
+ #define npy_fseek fseek
180
+ #endif
181
+ #ifdef HAVE_FTELLO
182
+ #define npy_ftell ftello
183
+ #else
184
+ #define npy_ftell ftell
185
+ #endif
186
+ #include <sys/types.h>
187
+ #ifndef _WIN32
188
+ #include <unistd.h>
189
+ #endif
190
+ #define npy_lseek lseek
191
+ #define npy_off_t off_t
192
+
193
+ #if NPY_SIZEOF_OFF_T == NPY_SIZEOF_SHORT
194
+ #define NPY_OFF_T_PYFMT "h"
195
+ #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_INT
196
+ #define NPY_OFF_T_PYFMT "i"
197
+ #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_LONG
198
+ #define NPY_OFF_T_PYFMT "l"
199
+ #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_LONGLONG
200
+ #define NPY_OFF_T_PYFMT "L"
201
+ #else
202
+ #error Unsupported size for type off_t
203
+ #endif
204
+ #endif
205
+
206
+ /* enums for detected endianness */
207
+ enum {
208
+ NPY_CPU_UNKNOWN_ENDIAN,
209
+ NPY_CPU_LITTLE,
210
+ NPY_CPU_BIG
211
+ };
212
+
213
+ /*
214
+ * This is to typedef npy_intp to the appropriate size for Py_ssize_t.
215
+ * (Before NumPy 2.0 we used Py_intptr_t and Py_uintptr_t from `pyport.h`.)
216
+ */
217
+ typedef Py_ssize_t npy_intp;
218
+ typedef size_t npy_uintp;
219
+
220
+ /*
221
+ * Define sizes that were not defined in numpyconfig.h.
222
+ */
223
+ #define NPY_SIZEOF_CHAR 1
224
+ #define NPY_SIZEOF_BYTE 1
225
+ #define NPY_SIZEOF_DATETIME 8
226
+ #define NPY_SIZEOF_TIMEDELTA 8
227
+ #define NPY_SIZEOF_HALF 2
228
+ #define NPY_SIZEOF_CFLOAT NPY_SIZEOF_COMPLEX_FLOAT
229
+ #define NPY_SIZEOF_CDOUBLE NPY_SIZEOF_COMPLEX_DOUBLE
230
+ #define NPY_SIZEOF_CLONGDOUBLE NPY_SIZEOF_COMPLEX_LONGDOUBLE
231
+
232
+ #ifdef constchar
233
+ #undef constchar
234
+ #endif
235
+
236
+ #define NPY_SSIZE_T_PYFMT "n"
237
+ #define constchar char
238
+
239
+ /* NPY_INTP_FMT Note:
240
+ * Unlike the other NPY_*_FMT macros, which are used with PyOS_snprintf,
241
+ * NPY_INTP_FMT is used with PyErr_Format and PyUnicode_FromFormat. Those
242
+ * functions use different formatting codes that are portably specified
243
+ * according to the Python documentation. See issue gh-2388.
244
+ */
245
+ #if NPY_SIZEOF_INTP == NPY_SIZEOF_LONG
246
+ #define NPY_INTP NPY_LONG
247
+ #define NPY_UINTP NPY_ULONG
248
+ #define PyIntpArrType_Type PyLongArrType_Type
249
+ #define PyUIntpArrType_Type PyULongArrType_Type
250
+ #define NPY_MAX_INTP NPY_MAX_LONG
251
+ #define NPY_MIN_INTP NPY_MIN_LONG
252
+ #define NPY_MAX_UINTP NPY_MAX_ULONG
253
+ #define NPY_INTP_FMT "ld"
254
+ #elif NPY_SIZEOF_INTP == NPY_SIZEOF_INT
255
+ #define NPY_INTP NPY_INT
256
+ #define NPY_UINTP NPY_UINT
257
+ #define PyIntpArrType_Type PyIntArrType_Type
258
+ #define PyUIntpArrType_Type PyUIntArrType_Type
259
+ #define NPY_MAX_INTP NPY_MAX_INT
260
+ #define NPY_MIN_INTP NPY_MIN_INT
261
+ #define NPY_MAX_UINTP NPY_MAX_UINT
262
+ #define NPY_INTP_FMT "d"
263
+ #elif defined(PY_LONG_LONG) && (NPY_SIZEOF_INTP == NPY_SIZEOF_LONGLONG)
264
+ #define NPY_INTP NPY_LONGLONG
265
+ #define NPY_UINTP NPY_ULONGLONG
266
+ #define PyIntpArrType_Type PyLongLongArrType_Type
267
+ #define PyUIntpArrType_Type PyULongLongArrType_Type
268
+ #define NPY_MAX_INTP NPY_MAX_LONGLONG
269
+ #define NPY_MIN_INTP NPY_MIN_LONGLONG
270
+ #define NPY_MAX_UINTP NPY_MAX_ULONGLONG
271
+ #define NPY_INTP_FMT "lld"
272
+ #else
273
+ #error "Failed to correctly define NPY_INTP and NPY_UINTP"
274
+ #endif
275
+
276
+
277
+ /*
278
+ * Some platforms don't define bool, long long, or long double.
279
+ * Handle that here.
280
+ */
281
+ #define NPY_BYTE_FMT "hhd"
282
+ #define NPY_UBYTE_FMT "hhu"
283
+ #define NPY_SHORT_FMT "hd"
284
+ #define NPY_USHORT_FMT "hu"
285
+ #define NPY_INT_FMT "d"
286
+ #define NPY_UINT_FMT "u"
287
+ #define NPY_LONG_FMT "ld"
288
+ #define NPY_ULONG_FMT "lu"
289
+ #define NPY_HALF_FMT "g"
290
+ #define NPY_FLOAT_FMT "g"
291
+ #define NPY_DOUBLE_FMT "g"
292
+
293
+
294
+ #ifdef PY_LONG_LONG
295
+ typedef PY_LONG_LONG npy_longlong;
296
+ typedef unsigned PY_LONG_LONG npy_ulonglong;
297
+ # ifdef _MSC_VER
298
+ # define NPY_LONGLONG_FMT "I64d"
299
+ # define NPY_ULONGLONG_FMT "I64u"
300
+ # else
301
+ # define NPY_LONGLONG_FMT "lld"
302
+ # define NPY_ULONGLONG_FMT "llu"
303
+ # endif
304
+ # ifdef _MSC_VER
305
+ # define NPY_LONGLONG_SUFFIX(x) (x##i64)
306
+ # define NPY_ULONGLONG_SUFFIX(x) (x##Ui64)
307
+ # else
308
+ # define NPY_LONGLONG_SUFFIX(x) (x##LL)
309
+ # define NPY_ULONGLONG_SUFFIX(x) (x##ULL)
310
+ # endif
311
+ #else
312
+ typedef long npy_longlong;
313
+ typedef unsigned long npy_ulonglong;
314
+ # define NPY_LONGLONG_SUFFIX(x) (x##L)
315
+ # define NPY_ULONGLONG_SUFFIX(x) (x##UL)
316
+ #endif
317
+
318
+
319
+ typedef unsigned char npy_bool;
320
+ #define NPY_FALSE 0
321
+ #define NPY_TRUE 1
322
+ /*
323
+ * `NPY_SIZEOF_LONGDOUBLE` isn't usually equal to sizeof(long double).
324
+ * In some certain cases, it may forced to be equal to sizeof(double)
325
+ * even against the compiler implementation and the same goes for
326
+ * `complex long double`.
327
+ *
328
+ * Therefore, avoid `long double`, use `npy_longdouble` instead,
329
+ * and when it comes to standard math functions make sure of using
330
+ * the double version when `NPY_SIZEOF_LONGDOUBLE` == `NPY_SIZEOF_DOUBLE`.
331
+ * For example:
332
+ * npy_longdouble *ptr, x;
333
+ * #if NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE
334
+ * npy_longdouble r = modf(x, ptr);
335
+ * #else
336
+ * npy_longdouble r = modfl(x, ptr);
337
+ * #endif
338
+ *
339
+ * See https://github.com/numpy/numpy/issues/20348
340
+ */
341
+ #if NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE
342
+ #define NPY_LONGDOUBLE_FMT "g"
343
+ #define longdouble_t double
344
+ typedef double npy_longdouble;
345
+ #else
346
+ #define NPY_LONGDOUBLE_FMT "Lg"
347
+ #define longdouble_t long double
348
+ typedef long double npy_longdouble;
349
+ #endif
350
+
351
+ #ifndef Py_USING_UNICODE
352
+ #error Must use Python with unicode enabled.
353
+ #endif
354
+
355
+
356
+ typedef signed char npy_byte;
357
+ typedef unsigned char npy_ubyte;
358
+ typedef unsigned short npy_ushort;
359
+ typedef unsigned int npy_uint;
360
+ typedef unsigned long npy_ulong;
361
+
362
+ /* These are for completeness */
363
+ typedef char npy_char;
364
+ typedef short npy_short;
365
+ typedef int npy_int;
366
+ typedef long npy_long;
367
+ typedef float npy_float;
368
+ typedef double npy_double;
369
+
370
+ typedef Py_hash_t npy_hash_t;
371
+ #define NPY_SIZEOF_HASH_T NPY_SIZEOF_INTP
372
+
373
+ #if defined(__cplusplus)
374
+
375
+ typedef struct
376
+ {
377
+ double _Val[2];
378
+ } npy_cdouble;
379
+
380
+ typedef struct
381
+ {
382
+ float _Val[2];
383
+ } npy_cfloat;
384
+
385
+ typedef struct
386
+ {
387
+ long double _Val[2];
388
+ } npy_clongdouble;
389
+
390
+ #else
391
+
392
+ #include <complex.h>
393
+
394
+
395
+ #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
396
+ typedef _Dcomplex npy_cdouble;
397
+ typedef _Fcomplex npy_cfloat;
398
+ typedef _Lcomplex npy_clongdouble;
399
+ #else /* !defined(_MSC_VER) || defined(__INTEL_COMPILER) */
400
+ typedef double _Complex npy_cdouble;
401
+ typedef float _Complex npy_cfloat;
402
+ typedef longdouble_t _Complex npy_clongdouble;
403
+ #endif
404
+
405
+ #endif
406
+
407
+ /*
408
+ * numarray-style bit-width typedefs
409
+ */
410
+ #define NPY_MAX_INT8 127
411
+ #define NPY_MIN_INT8 -128
412
+ #define NPY_MAX_UINT8 255
413
+ #define NPY_MAX_INT16 32767
414
+ #define NPY_MIN_INT16 -32768
415
+ #define NPY_MAX_UINT16 65535
416
+ #define NPY_MAX_INT32 2147483647
417
+ #define NPY_MIN_INT32 (-NPY_MAX_INT32 - 1)
418
+ #define NPY_MAX_UINT32 4294967295U
419
+ #define NPY_MAX_INT64 NPY_LONGLONG_SUFFIX(9223372036854775807)
420
+ #define NPY_MIN_INT64 (-NPY_MAX_INT64 - NPY_LONGLONG_SUFFIX(1))
421
+ #define NPY_MAX_UINT64 NPY_ULONGLONG_SUFFIX(18446744073709551615)
422
+ #define NPY_MAX_INT128 NPY_LONGLONG_SUFFIX(85070591730234615865843651857942052864)
423
+ #define NPY_MIN_INT128 (-NPY_MAX_INT128 - NPY_LONGLONG_SUFFIX(1))
424
+ #define NPY_MAX_UINT128 NPY_ULONGLONG_SUFFIX(170141183460469231731687303715884105728)
425
+ #define NPY_MIN_DATETIME NPY_MIN_INT64
426
+ #define NPY_MAX_DATETIME NPY_MAX_INT64
427
+ #define NPY_MIN_TIMEDELTA NPY_MIN_INT64
428
+ #define NPY_MAX_TIMEDELTA NPY_MAX_INT64
429
+
430
+ /* Need to find the number of bits for each type and
431
+ make definitions accordingly.
432
+
433
+ C states that sizeof(char) == 1 by definition
434
+
435
+ So, just using the sizeof keyword won't help.
436
+
437
+ It also looks like Python itself uses sizeof(char) quite a
438
+ bit, which by definition should be 1 all the time.
439
+
440
+ Idea: Make Use of CHAR_BIT which should tell us how many
441
+ BITS per CHARACTER
442
+ */
443
+
444
+ /* Include platform definitions -- These are in the C89/90 standard */
445
+ #include <limits.h>
446
+ #define NPY_MAX_BYTE SCHAR_MAX
447
+ #define NPY_MIN_BYTE SCHAR_MIN
448
+ #define NPY_MAX_UBYTE UCHAR_MAX
449
+ #define NPY_MAX_SHORT SHRT_MAX
450
+ #define NPY_MIN_SHORT SHRT_MIN
451
+ #define NPY_MAX_USHORT USHRT_MAX
452
+ #define NPY_MAX_INT INT_MAX
453
+ #ifndef INT_MIN
454
+ #define INT_MIN (-INT_MAX - 1)
455
+ #endif
456
+ #define NPY_MIN_INT INT_MIN
457
+ #define NPY_MAX_UINT UINT_MAX
458
+ #define NPY_MAX_LONG LONG_MAX
459
+ #define NPY_MIN_LONG LONG_MIN
460
+ #define NPY_MAX_ULONG ULONG_MAX
461
+
462
+ #define NPY_BITSOF_BOOL (sizeof(npy_bool) * CHAR_BIT)
463
+ #define NPY_BITSOF_CHAR CHAR_BIT
464
+ #define NPY_BITSOF_BYTE (NPY_SIZEOF_BYTE * CHAR_BIT)
465
+ #define NPY_BITSOF_SHORT (NPY_SIZEOF_SHORT * CHAR_BIT)
466
+ #define NPY_BITSOF_INT (NPY_SIZEOF_INT * CHAR_BIT)
467
+ #define NPY_BITSOF_LONG (NPY_SIZEOF_LONG * CHAR_BIT)
468
+ #define NPY_BITSOF_LONGLONG (NPY_SIZEOF_LONGLONG * CHAR_BIT)
469
+ #define NPY_BITSOF_INTP (NPY_SIZEOF_INTP * CHAR_BIT)
470
+ #define NPY_BITSOF_HALF (NPY_SIZEOF_HALF * CHAR_BIT)
471
+ #define NPY_BITSOF_FLOAT (NPY_SIZEOF_FLOAT * CHAR_BIT)
472
+ #define NPY_BITSOF_DOUBLE (NPY_SIZEOF_DOUBLE * CHAR_BIT)
473
+ #define NPY_BITSOF_LONGDOUBLE (NPY_SIZEOF_LONGDOUBLE * CHAR_BIT)
474
+ #define NPY_BITSOF_CFLOAT (NPY_SIZEOF_CFLOAT * CHAR_BIT)
475
+ #define NPY_BITSOF_CDOUBLE (NPY_SIZEOF_CDOUBLE * CHAR_BIT)
476
+ #define NPY_BITSOF_CLONGDOUBLE (NPY_SIZEOF_CLONGDOUBLE * CHAR_BIT)
477
+ #define NPY_BITSOF_DATETIME (NPY_SIZEOF_DATETIME * CHAR_BIT)
478
+ #define NPY_BITSOF_TIMEDELTA (NPY_SIZEOF_TIMEDELTA * CHAR_BIT)
479
+
480
+ #if NPY_BITSOF_LONG == 8
481
+ #define NPY_INT8 NPY_LONG
482
+ #define NPY_UINT8 NPY_ULONG
483
+ typedef long npy_int8;
484
+ typedef unsigned long npy_uint8;
485
+ #define PyInt8ScalarObject PyLongScalarObject
486
+ #define PyInt8ArrType_Type PyLongArrType_Type
487
+ #define PyUInt8ScalarObject PyULongScalarObject
488
+ #define PyUInt8ArrType_Type PyULongArrType_Type
489
+ #define NPY_INT8_FMT NPY_LONG_FMT
490
+ #define NPY_UINT8_FMT NPY_ULONG_FMT
491
+ #elif NPY_BITSOF_LONG == 16
492
+ #define NPY_INT16 NPY_LONG
493
+ #define NPY_UINT16 NPY_ULONG
494
+ typedef long npy_int16;
495
+ typedef unsigned long npy_uint16;
496
+ #define PyInt16ScalarObject PyLongScalarObject
497
+ #define PyInt16ArrType_Type PyLongArrType_Type
498
+ #define PyUInt16ScalarObject PyULongScalarObject
499
+ #define PyUInt16ArrType_Type PyULongArrType_Type
500
+ #define NPY_INT16_FMT NPY_LONG_FMT
501
+ #define NPY_UINT16_FMT NPY_ULONG_FMT
502
+ #elif NPY_BITSOF_LONG == 32
503
+ #define NPY_INT32 NPY_LONG
504
+ #define NPY_UINT32 NPY_ULONG
505
+ typedef long npy_int32;
506
+ typedef unsigned long npy_uint32;
507
+ typedef unsigned long npy_ucs4;
508
+ #define PyInt32ScalarObject PyLongScalarObject
509
+ #define PyInt32ArrType_Type PyLongArrType_Type
510
+ #define PyUInt32ScalarObject PyULongScalarObject
511
+ #define PyUInt32ArrType_Type PyULongArrType_Type
512
+ #define NPY_INT32_FMT NPY_LONG_FMT
513
+ #define NPY_UINT32_FMT NPY_ULONG_FMT
514
+ #elif NPY_BITSOF_LONG == 64
515
+ #define NPY_INT64 NPY_LONG
516
+ #define NPY_UINT64 NPY_ULONG
517
+ typedef long npy_int64;
518
+ typedef unsigned long npy_uint64;
519
+ #define PyInt64ScalarObject PyLongScalarObject
520
+ #define PyInt64ArrType_Type PyLongArrType_Type
521
+ #define PyUInt64ScalarObject PyULongScalarObject
522
+ #define PyUInt64ArrType_Type PyULongArrType_Type
523
+ #define NPY_INT64_FMT NPY_LONG_FMT
524
+ #define NPY_UINT64_FMT NPY_ULONG_FMT
525
+ #define MyPyLong_FromInt64 PyLong_FromLong
526
+ #define MyPyLong_AsInt64 PyLong_AsLong
527
+ #endif
528
+
529
+ #if NPY_BITSOF_LONGLONG == 8
530
+ # ifndef NPY_INT8
531
+ # define NPY_INT8 NPY_LONGLONG
532
+ # define NPY_UINT8 NPY_ULONGLONG
533
+ typedef npy_longlong npy_int8;
534
+ typedef npy_ulonglong npy_uint8;
535
+ # define PyInt8ScalarObject PyLongLongScalarObject
536
+ # define PyInt8ArrType_Type PyLongLongArrType_Type
537
+ # define PyUInt8ScalarObject PyULongLongScalarObject
538
+ # define PyUInt8ArrType_Type PyULongLongArrType_Type
539
+ #define NPY_INT8_FMT NPY_LONGLONG_FMT
540
+ #define NPY_UINT8_FMT NPY_ULONGLONG_FMT
541
+ # endif
542
+ # define NPY_MAX_LONGLONG NPY_MAX_INT8
543
+ # define NPY_MIN_LONGLONG NPY_MIN_INT8
544
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT8
545
+ #elif NPY_BITSOF_LONGLONG == 16
546
+ # ifndef NPY_INT16
547
+ # define NPY_INT16 NPY_LONGLONG
548
+ # define NPY_UINT16 NPY_ULONGLONG
549
+ typedef npy_longlong npy_int16;
550
+ typedef npy_ulonglong npy_uint16;
551
+ # define PyInt16ScalarObject PyLongLongScalarObject
552
+ # define PyInt16ArrType_Type PyLongLongArrType_Type
553
+ # define PyUInt16ScalarObject PyULongLongScalarObject
554
+ # define PyUInt16ArrType_Type PyULongLongArrType_Type
555
+ #define NPY_INT16_FMT NPY_LONGLONG_FMT
556
+ #define NPY_UINT16_FMT NPY_ULONGLONG_FMT
557
+ # endif
558
+ # define NPY_MAX_LONGLONG NPY_MAX_INT16
559
+ # define NPY_MIN_LONGLONG NPY_MIN_INT16
560
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT16
561
+ #elif NPY_BITSOF_LONGLONG == 32
562
+ # ifndef NPY_INT32
563
+ # define NPY_INT32 NPY_LONGLONG
564
+ # define NPY_UINT32 NPY_ULONGLONG
565
+ typedef npy_longlong npy_int32;
566
+ typedef npy_ulonglong npy_uint32;
567
+ typedef npy_ulonglong npy_ucs4;
568
+ # define PyInt32ScalarObject PyLongLongScalarObject
569
+ # define PyInt32ArrType_Type PyLongLongArrType_Type
570
+ # define PyUInt32ScalarObject PyULongLongScalarObject
571
+ # define PyUInt32ArrType_Type PyULongLongArrType_Type
572
+ #define NPY_INT32_FMT NPY_LONGLONG_FMT
573
+ #define NPY_UINT32_FMT NPY_ULONGLONG_FMT
574
+ # endif
575
+ # define NPY_MAX_LONGLONG NPY_MAX_INT32
576
+ # define NPY_MIN_LONGLONG NPY_MIN_INT32
577
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT32
578
+ #elif NPY_BITSOF_LONGLONG == 64
579
+ # ifndef NPY_INT64
580
+ # define NPY_INT64 NPY_LONGLONG
581
+ # define NPY_UINT64 NPY_ULONGLONG
582
+ typedef npy_longlong npy_int64;
583
+ typedef npy_ulonglong npy_uint64;
584
+ # define PyInt64ScalarObject PyLongLongScalarObject
585
+ # define PyInt64ArrType_Type PyLongLongArrType_Type
586
+ # define PyUInt64ScalarObject PyULongLongScalarObject
587
+ # define PyUInt64ArrType_Type PyULongLongArrType_Type
588
+ #define NPY_INT64_FMT NPY_LONGLONG_FMT
589
+ #define NPY_UINT64_FMT NPY_ULONGLONG_FMT
590
+ # define MyPyLong_FromInt64 PyLong_FromLongLong
591
+ # define MyPyLong_AsInt64 PyLong_AsLongLong
592
+ # endif
593
+ # define NPY_MAX_LONGLONG NPY_MAX_INT64
594
+ # define NPY_MIN_LONGLONG NPY_MIN_INT64
595
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT64
596
+ #endif
597
+
598
+ #if NPY_BITSOF_INT == 8
599
+ #ifndef NPY_INT8
600
+ #define NPY_INT8 NPY_INT
601
+ #define NPY_UINT8 NPY_UINT
602
+ typedef int npy_int8;
603
+ typedef unsigned int npy_uint8;
604
+ # define PyInt8ScalarObject PyIntScalarObject
605
+ # define PyInt8ArrType_Type PyIntArrType_Type
606
+ # define PyUInt8ScalarObject PyUIntScalarObject
607
+ # define PyUInt8ArrType_Type PyUIntArrType_Type
608
+ #define NPY_INT8_FMT NPY_INT_FMT
609
+ #define NPY_UINT8_FMT NPY_UINT_FMT
610
+ #endif
611
+ #elif NPY_BITSOF_INT == 16
612
+ #ifndef NPY_INT16
613
+ #define NPY_INT16 NPY_INT
614
+ #define NPY_UINT16 NPY_UINT
615
+ typedef int npy_int16;
616
+ typedef unsigned int npy_uint16;
617
+ # define PyInt16ScalarObject PyIntScalarObject
618
+ # define PyInt16ArrType_Type PyIntArrType_Type
619
+ # define PyUInt16ScalarObject PyIntUScalarObject
620
+ # define PyUInt16ArrType_Type PyIntUArrType_Type
621
+ #define NPY_INT16_FMT NPY_INT_FMT
622
+ #define NPY_UINT16_FMT NPY_UINT_FMT
623
+ #endif
624
+ #elif NPY_BITSOF_INT == 32
625
+ #ifndef NPY_INT32
626
+ #define NPY_INT32 NPY_INT
627
+ #define NPY_UINT32 NPY_UINT
628
+ typedef int npy_int32;
629
+ typedef unsigned int npy_uint32;
630
+ typedef unsigned int npy_ucs4;
631
+ # define PyInt32ScalarObject PyIntScalarObject
632
+ # define PyInt32ArrType_Type PyIntArrType_Type
633
+ # define PyUInt32ScalarObject PyUIntScalarObject
634
+ # define PyUInt32ArrType_Type PyUIntArrType_Type
635
+ #define NPY_INT32_FMT NPY_INT_FMT
636
+ #define NPY_UINT32_FMT NPY_UINT_FMT
637
+ #endif
638
+ #elif NPY_BITSOF_INT == 64
639
+ #ifndef NPY_INT64
640
+ #define NPY_INT64 NPY_INT
641
+ #define NPY_UINT64 NPY_UINT
642
+ typedef int npy_int64;
643
+ typedef unsigned int npy_uint64;
644
+ # define PyInt64ScalarObject PyIntScalarObject
645
+ # define PyInt64ArrType_Type PyIntArrType_Type
646
+ # define PyUInt64ScalarObject PyUIntScalarObject
647
+ # define PyUInt64ArrType_Type PyUIntArrType_Type
648
+ #define NPY_INT64_FMT NPY_INT_FMT
649
+ #define NPY_UINT64_FMT NPY_UINT_FMT
650
+ # define MyPyLong_FromInt64 PyLong_FromLong
651
+ # define MyPyLong_AsInt64 PyLong_AsLong
652
+ #endif
653
+ #endif
654
+
655
+ #if NPY_BITSOF_SHORT == 8
656
+ #ifndef NPY_INT8
657
+ #define NPY_INT8 NPY_SHORT
658
+ #define NPY_UINT8 NPY_USHORT
659
+ typedef short npy_int8;
660
+ typedef unsigned short npy_uint8;
661
+ # define PyInt8ScalarObject PyShortScalarObject
662
+ # define PyInt8ArrType_Type PyShortArrType_Type
663
+ # define PyUInt8ScalarObject PyUShortScalarObject
664
+ # define PyUInt8ArrType_Type PyUShortArrType_Type
665
+ #define NPY_INT8_FMT NPY_SHORT_FMT
666
+ #define NPY_UINT8_FMT NPY_USHORT_FMT
667
+ #endif
668
+ #elif NPY_BITSOF_SHORT == 16
669
+ #ifndef NPY_INT16
670
+ #define NPY_INT16 NPY_SHORT
671
+ #define NPY_UINT16 NPY_USHORT
672
+ typedef short npy_int16;
673
+ typedef unsigned short npy_uint16;
674
+ # define PyInt16ScalarObject PyShortScalarObject
675
+ # define PyInt16ArrType_Type PyShortArrType_Type
676
+ # define PyUInt16ScalarObject PyUShortScalarObject
677
+ # define PyUInt16ArrType_Type PyUShortArrType_Type
678
+ #define NPY_INT16_FMT NPY_SHORT_FMT
679
+ #define NPY_UINT16_FMT NPY_USHORT_FMT
680
+ #endif
681
+ #elif NPY_BITSOF_SHORT == 32
682
+ #ifndef NPY_INT32
683
+ #define NPY_INT32 NPY_SHORT
684
+ #define NPY_UINT32 NPY_USHORT
685
+ typedef short npy_int32;
686
+ typedef unsigned short npy_uint32;
687
+ typedef unsigned short npy_ucs4;
688
+ # define PyInt32ScalarObject PyShortScalarObject
689
+ # define PyInt32ArrType_Type PyShortArrType_Type
690
+ # define PyUInt32ScalarObject PyUShortScalarObject
691
+ # define PyUInt32ArrType_Type PyUShortArrType_Type
692
+ #define NPY_INT32_FMT NPY_SHORT_FMT
693
+ #define NPY_UINT32_FMT NPY_USHORT_FMT
694
+ #endif
695
+ #elif NPY_BITSOF_SHORT == 64
696
+ #ifndef NPY_INT64
697
+ #define NPY_INT64 NPY_SHORT
698
+ #define NPY_UINT64 NPY_USHORT
699
+ typedef short npy_int64;
700
+ typedef unsigned short npy_uint64;
701
+ # define PyInt64ScalarObject PyShortScalarObject
702
+ # define PyInt64ArrType_Type PyShortArrType_Type
703
+ # define PyUInt64ScalarObject PyUShortScalarObject
704
+ # define PyUInt64ArrType_Type PyUShortArrType_Type
705
+ #define NPY_INT64_FMT NPY_SHORT_FMT
706
+ #define NPY_UINT64_FMT NPY_USHORT_FMT
707
+ # define MyPyLong_FromInt64 PyLong_FromLong
708
+ # define MyPyLong_AsInt64 PyLong_AsLong
709
+ #endif
710
+ #endif
711
+
712
+
713
+ #if NPY_BITSOF_CHAR == 8
714
+ #ifndef NPY_INT8
715
+ #define NPY_INT8 NPY_BYTE
716
+ #define NPY_UINT8 NPY_UBYTE
717
+ typedef signed char npy_int8;
718
+ typedef unsigned char npy_uint8;
719
+ # define PyInt8ScalarObject PyByteScalarObject
720
+ # define PyInt8ArrType_Type PyByteArrType_Type
721
+ # define PyUInt8ScalarObject PyUByteScalarObject
722
+ # define PyUInt8ArrType_Type PyUByteArrType_Type
723
+ #define NPY_INT8_FMT NPY_BYTE_FMT
724
+ #define NPY_UINT8_FMT NPY_UBYTE_FMT
725
+ #endif
726
+ #elif NPY_BITSOF_CHAR == 16
727
+ #ifndef NPY_INT16
728
+ #define NPY_INT16 NPY_BYTE
729
+ #define NPY_UINT16 NPY_UBYTE
730
+ typedef signed char npy_int16;
731
+ typedef unsigned char npy_uint16;
732
+ # define PyInt16ScalarObject PyByteScalarObject
733
+ # define PyInt16ArrType_Type PyByteArrType_Type
734
+ # define PyUInt16ScalarObject PyUByteScalarObject
735
+ # define PyUInt16ArrType_Type PyUByteArrType_Type
736
+ #define NPY_INT16_FMT NPY_BYTE_FMT
737
+ #define NPY_UINT16_FMT NPY_UBYTE_FMT
738
+ #endif
739
+ #elif NPY_BITSOF_CHAR == 32
740
+ #ifndef NPY_INT32
741
+ #define NPY_INT32 NPY_BYTE
742
+ #define NPY_UINT32 NPY_UBYTE
743
+ typedef signed char npy_int32;
744
+ typedef unsigned char npy_uint32;
745
+ typedef unsigned char npy_ucs4;
746
+ # define PyInt32ScalarObject PyByteScalarObject
747
+ # define PyInt32ArrType_Type PyByteArrType_Type
748
+ # define PyUInt32ScalarObject PyUByteScalarObject
749
+ # define PyUInt32ArrType_Type PyUByteArrType_Type
750
+ #define NPY_INT32_FMT NPY_BYTE_FMT
751
+ #define NPY_UINT32_FMT NPY_UBYTE_FMT
752
+ #endif
753
+ #elif NPY_BITSOF_CHAR == 64
754
+ #ifndef NPY_INT64
755
+ #define NPY_INT64 NPY_BYTE
756
+ #define NPY_UINT64 NPY_UBYTE
757
+ typedef signed char npy_int64;
758
+ typedef unsigned char npy_uint64;
759
+ # define PyInt64ScalarObject PyByteScalarObject
760
+ # define PyInt64ArrType_Type PyByteArrType_Type
761
+ # define PyUInt64ScalarObject PyUByteScalarObject
762
+ # define PyUInt64ArrType_Type PyUByteArrType_Type
763
+ #define NPY_INT64_FMT NPY_BYTE_FMT
764
+ #define NPY_UINT64_FMT NPY_UBYTE_FMT
765
+ # define MyPyLong_FromInt64 PyLong_FromLong
766
+ # define MyPyLong_AsInt64 PyLong_AsLong
767
+ #endif
768
+ #elif NPY_BITSOF_CHAR == 128
769
+ #endif
770
+
771
+
772
+
773
+ #if NPY_BITSOF_DOUBLE == 32
774
+ #ifndef NPY_FLOAT32
775
+ #define NPY_FLOAT32 NPY_DOUBLE
776
+ #define NPY_COMPLEX64 NPY_CDOUBLE
777
+ typedef double npy_float32;
778
+ typedef npy_cdouble npy_complex64;
779
+ # define PyFloat32ScalarObject PyDoubleScalarObject
780
+ # define PyComplex64ScalarObject PyCDoubleScalarObject
781
+ # define PyFloat32ArrType_Type PyDoubleArrType_Type
782
+ # define PyComplex64ArrType_Type PyCDoubleArrType_Type
783
+ #define NPY_FLOAT32_FMT NPY_DOUBLE_FMT
784
+ #define NPY_COMPLEX64_FMT NPY_CDOUBLE_FMT
785
+ #endif
786
+ #elif NPY_BITSOF_DOUBLE == 64
787
+ #ifndef NPY_FLOAT64
788
+ #define NPY_FLOAT64 NPY_DOUBLE
789
+ #define NPY_COMPLEX128 NPY_CDOUBLE
790
+ typedef double npy_float64;
791
+ typedef npy_cdouble npy_complex128;
792
+ # define PyFloat64ScalarObject PyDoubleScalarObject
793
+ # define PyComplex128ScalarObject PyCDoubleScalarObject
794
+ # define PyFloat64ArrType_Type PyDoubleArrType_Type
795
+ # define PyComplex128ArrType_Type PyCDoubleArrType_Type
796
+ #define NPY_FLOAT64_FMT NPY_DOUBLE_FMT
797
+ #define NPY_COMPLEX128_FMT NPY_CDOUBLE_FMT
798
+ #endif
799
+ #elif NPY_BITSOF_DOUBLE == 80
800
+ #ifndef NPY_FLOAT80
801
+ #define NPY_FLOAT80 NPY_DOUBLE
802
+ #define NPY_COMPLEX160 NPY_CDOUBLE
803
+ typedef double npy_float80;
804
+ typedef npy_cdouble npy_complex160;
805
+ # define PyFloat80ScalarObject PyDoubleScalarObject
806
+ # define PyComplex160ScalarObject PyCDoubleScalarObject
807
+ # define PyFloat80ArrType_Type PyDoubleArrType_Type
808
+ # define PyComplex160ArrType_Type PyCDoubleArrType_Type
809
+ #define NPY_FLOAT80_FMT NPY_DOUBLE_FMT
810
+ #define NPY_COMPLEX160_FMT NPY_CDOUBLE_FMT
811
+ #endif
812
+ #elif NPY_BITSOF_DOUBLE == 96
813
+ #ifndef NPY_FLOAT96
814
+ #define NPY_FLOAT96 NPY_DOUBLE
815
+ #define NPY_COMPLEX192 NPY_CDOUBLE
816
+ typedef double npy_float96;
817
+ typedef npy_cdouble npy_complex192;
818
+ # define PyFloat96ScalarObject PyDoubleScalarObject
819
+ # define PyComplex192ScalarObject PyCDoubleScalarObject
820
+ # define PyFloat96ArrType_Type PyDoubleArrType_Type
821
+ # define PyComplex192ArrType_Type PyCDoubleArrType_Type
822
+ #define NPY_FLOAT96_FMT NPY_DOUBLE_FMT
823
+ #define NPY_COMPLEX192_FMT NPY_CDOUBLE_FMT
824
+ #endif
825
+ #elif NPY_BITSOF_DOUBLE == 128
826
+ #ifndef NPY_FLOAT128
827
+ #define NPY_FLOAT128 NPY_DOUBLE
828
+ #define NPY_COMPLEX256 NPY_CDOUBLE
829
+ typedef double npy_float128;
830
+ typedef npy_cdouble npy_complex256;
831
+ # define PyFloat128ScalarObject PyDoubleScalarObject
832
+ # define PyComplex256ScalarObject PyCDoubleScalarObject
833
+ # define PyFloat128ArrType_Type PyDoubleArrType_Type
834
+ # define PyComplex256ArrType_Type PyCDoubleArrType_Type
835
+ #define NPY_FLOAT128_FMT NPY_DOUBLE_FMT
836
+ #define NPY_COMPLEX256_FMT NPY_CDOUBLE_FMT
837
+ #endif
838
+ #endif
839
+
840
+
841
+
842
+ #if NPY_BITSOF_FLOAT == 32
843
+ #ifndef NPY_FLOAT32
844
+ #define NPY_FLOAT32 NPY_FLOAT
845
+ #define NPY_COMPLEX64 NPY_CFLOAT
846
+ typedef float npy_float32;
847
+ typedef npy_cfloat npy_complex64;
848
+ # define PyFloat32ScalarObject PyFloatScalarObject
849
+ # define PyComplex64ScalarObject PyCFloatScalarObject
850
+ # define PyFloat32ArrType_Type PyFloatArrType_Type
851
+ # define PyComplex64ArrType_Type PyCFloatArrType_Type
852
+ #define NPY_FLOAT32_FMT NPY_FLOAT_FMT
853
+ #define NPY_COMPLEX64_FMT NPY_CFLOAT_FMT
854
+ #endif
855
+ #elif NPY_BITSOF_FLOAT == 64
856
+ #ifndef NPY_FLOAT64
857
+ #define NPY_FLOAT64 NPY_FLOAT
858
+ #define NPY_COMPLEX128 NPY_CFLOAT
859
+ typedef float npy_float64;
860
+ typedef npy_cfloat npy_complex128;
861
+ # define PyFloat64ScalarObject PyFloatScalarObject
862
+ # define PyComplex128ScalarObject PyCFloatScalarObject
863
+ # define PyFloat64ArrType_Type PyFloatArrType_Type
864
+ # define PyComplex128ArrType_Type PyCFloatArrType_Type
865
+ #define NPY_FLOAT64_FMT NPY_FLOAT_FMT
866
+ #define NPY_COMPLEX128_FMT NPY_CFLOAT_FMT
867
+ #endif
868
+ #elif NPY_BITSOF_FLOAT == 80
869
+ #ifndef NPY_FLOAT80
870
+ #define NPY_FLOAT80 NPY_FLOAT
871
+ #define NPY_COMPLEX160 NPY_CFLOAT
872
+ typedef float npy_float80;
873
+ typedef npy_cfloat npy_complex160;
874
+ # define PyFloat80ScalarObject PyFloatScalarObject
875
+ # define PyComplex160ScalarObject PyCFloatScalarObject
876
+ # define PyFloat80ArrType_Type PyFloatArrType_Type
877
+ # define PyComplex160ArrType_Type PyCFloatArrType_Type
878
+ #define NPY_FLOAT80_FMT NPY_FLOAT_FMT
879
+ #define NPY_COMPLEX160_FMT NPY_CFLOAT_FMT
880
+ #endif
881
+ #elif NPY_BITSOF_FLOAT == 96
882
+ #ifndef NPY_FLOAT96
883
+ #define NPY_FLOAT96 NPY_FLOAT
884
+ #define NPY_COMPLEX192 NPY_CFLOAT
885
+ typedef float npy_float96;
886
+ typedef npy_cfloat npy_complex192;
887
+ # define PyFloat96ScalarObject PyFloatScalarObject
888
+ # define PyComplex192ScalarObject PyCFloatScalarObject
889
+ # define PyFloat96ArrType_Type PyFloatArrType_Type
890
+ # define PyComplex192ArrType_Type PyCFloatArrType_Type
891
+ #define NPY_FLOAT96_FMT NPY_FLOAT_FMT
892
+ #define NPY_COMPLEX192_FMT NPY_CFLOAT_FMT
893
+ #endif
894
+ #elif NPY_BITSOF_FLOAT == 128
895
+ #ifndef NPY_FLOAT128
896
+ #define NPY_FLOAT128 NPY_FLOAT
897
+ #define NPY_COMPLEX256 NPY_CFLOAT
898
+ typedef float npy_float128;
899
+ typedef npy_cfloat npy_complex256;
900
+ # define PyFloat128ScalarObject PyFloatScalarObject
901
+ # define PyComplex256ScalarObject PyCFloatScalarObject
902
+ # define PyFloat128ArrType_Type PyFloatArrType_Type
903
+ # define PyComplex256ArrType_Type PyCFloatArrType_Type
904
+ #define NPY_FLOAT128_FMT NPY_FLOAT_FMT
905
+ #define NPY_COMPLEX256_FMT NPY_CFLOAT_FMT
906
+ #endif
907
+ #endif
908
+
909
+ /* half/float16 isn't a floating-point type in C */
910
+ #define NPY_FLOAT16 NPY_HALF
911
+ typedef npy_uint16 npy_half;
912
+ typedef npy_half npy_float16;
913
+
914
+ #if NPY_BITSOF_LONGDOUBLE == 32
915
+ #ifndef NPY_FLOAT32
916
+ #define NPY_FLOAT32 NPY_LONGDOUBLE
917
+ #define NPY_COMPLEX64 NPY_CLONGDOUBLE
918
+ typedef npy_longdouble npy_float32;
919
+ typedef npy_clongdouble npy_complex64;
920
+ # define PyFloat32ScalarObject PyLongDoubleScalarObject
921
+ # define PyComplex64ScalarObject PyCLongDoubleScalarObject
922
+ # define PyFloat32ArrType_Type PyLongDoubleArrType_Type
923
+ # define PyComplex64ArrType_Type PyCLongDoubleArrType_Type
924
+ #define NPY_FLOAT32_FMT NPY_LONGDOUBLE_FMT
925
+ #define NPY_COMPLEX64_FMT NPY_CLONGDOUBLE_FMT
926
+ #endif
927
+ #elif NPY_BITSOF_LONGDOUBLE == 64
928
+ #ifndef NPY_FLOAT64
929
+ #define NPY_FLOAT64 NPY_LONGDOUBLE
930
+ #define NPY_COMPLEX128 NPY_CLONGDOUBLE
931
+ typedef npy_longdouble npy_float64;
932
+ typedef npy_clongdouble npy_complex128;
933
+ # define PyFloat64ScalarObject PyLongDoubleScalarObject
934
+ # define PyComplex128ScalarObject PyCLongDoubleScalarObject
935
+ # define PyFloat64ArrType_Type PyLongDoubleArrType_Type
936
+ # define PyComplex128ArrType_Type PyCLongDoubleArrType_Type
937
+ #define NPY_FLOAT64_FMT NPY_LONGDOUBLE_FMT
938
+ #define NPY_COMPLEX128_FMT NPY_CLONGDOUBLE_FMT
939
+ #endif
940
+ #elif NPY_BITSOF_LONGDOUBLE == 80
941
+ #ifndef NPY_FLOAT80
942
+ #define NPY_FLOAT80 NPY_LONGDOUBLE
943
+ #define NPY_COMPLEX160 NPY_CLONGDOUBLE
944
+ typedef npy_longdouble npy_float80;
945
+ typedef npy_clongdouble npy_complex160;
946
+ # define PyFloat80ScalarObject PyLongDoubleScalarObject
947
+ # define PyComplex160ScalarObject PyCLongDoubleScalarObject
948
+ # define PyFloat80ArrType_Type PyLongDoubleArrType_Type
949
+ # define PyComplex160ArrType_Type PyCLongDoubleArrType_Type
950
+ #define NPY_FLOAT80_FMT NPY_LONGDOUBLE_FMT
951
+ #define NPY_COMPLEX160_FMT NPY_CLONGDOUBLE_FMT
952
+ #endif
953
+ #elif NPY_BITSOF_LONGDOUBLE == 96
954
+ #ifndef NPY_FLOAT96
955
+ #define NPY_FLOAT96 NPY_LONGDOUBLE
956
+ #define NPY_COMPLEX192 NPY_CLONGDOUBLE
957
+ typedef npy_longdouble npy_float96;
958
+ typedef npy_clongdouble npy_complex192;
959
+ # define PyFloat96ScalarObject PyLongDoubleScalarObject
960
+ # define PyComplex192ScalarObject PyCLongDoubleScalarObject
961
+ # define PyFloat96ArrType_Type PyLongDoubleArrType_Type
962
+ # define PyComplex192ArrType_Type PyCLongDoubleArrType_Type
963
+ #define NPY_FLOAT96_FMT NPY_LONGDOUBLE_FMT
964
+ #define NPY_COMPLEX192_FMT NPY_CLONGDOUBLE_FMT
965
+ #endif
966
+ #elif NPY_BITSOF_LONGDOUBLE == 128
967
+ #ifndef NPY_FLOAT128
968
+ #define NPY_FLOAT128 NPY_LONGDOUBLE
969
+ #define NPY_COMPLEX256 NPY_CLONGDOUBLE
970
+ typedef npy_longdouble npy_float128;
971
+ typedef npy_clongdouble npy_complex256;
972
+ # define PyFloat128ScalarObject PyLongDoubleScalarObject
973
+ # define PyComplex256ScalarObject PyCLongDoubleScalarObject
974
+ # define PyFloat128ArrType_Type PyLongDoubleArrType_Type
975
+ # define PyComplex256ArrType_Type PyCLongDoubleArrType_Type
976
+ #define NPY_FLOAT128_FMT NPY_LONGDOUBLE_FMT
977
+ #define NPY_COMPLEX256_FMT NPY_CLONGDOUBLE_FMT
978
+ #endif
979
+ #endif
980
+
981
+ /* datetime typedefs */
982
+ typedef npy_int64 npy_timedelta;
983
+ typedef npy_int64 npy_datetime;
984
+ #define NPY_DATETIME_FMT NPY_INT64_FMT
985
+ #define NPY_TIMEDELTA_FMT NPY_INT64_FMT
986
+
987
+ /* End of typedefs for numarray style bit-width names */
988
+
989
+ #endif /* NUMPY_CORE_INCLUDE_NUMPY_NPY_COMMON_H_ */