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,977 @@
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
+ #define NPY_FINLINE static __forceinline
102
+ #elif defined(__GNUC__)
103
+ #define NPY_FINLINE static inline __attribute__((always_inline))
104
+ #else
105
+ #define NPY_FINLINE static
106
+ #endif
107
+
108
+ #if defined(_MSC_VER)
109
+ #define NPY_NOINLINE static __declspec(noinline)
110
+ #elif defined(__GNUC__) || defined(__clang__)
111
+ #define NPY_NOINLINE static __attribute__((noinline))
112
+ #else
113
+ #define NPY_NOINLINE static
114
+ #endif
115
+
116
+ #ifdef __cplusplus
117
+ #define NPY_TLS thread_local
118
+ #elif defined(HAVE_THREAD_LOCAL)
119
+ #define NPY_TLS thread_local
120
+ #elif defined(HAVE__THREAD_LOCAL)
121
+ #define NPY_TLS _Thread_local
122
+ #elif defined(HAVE___THREAD)
123
+ #define NPY_TLS __thread
124
+ #elif defined(HAVE___DECLSPEC_THREAD_)
125
+ #define NPY_TLS __declspec(thread)
126
+ #else
127
+ #define NPY_TLS
128
+ #endif
129
+
130
+ #ifdef WITH_CPYCHECKER_RETURNS_BORROWED_REF_ATTRIBUTE
131
+ #define NPY_RETURNS_BORROWED_REF \
132
+ __attribute__((cpychecker_returns_borrowed_ref))
133
+ #else
134
+ #define NPY_RETURNS_BORROWED_REF
135
+ #endif
136
+
137
+ #ifdef WITH_CPYCHECKER_STEALS_REFERENCE_TO_ARG_ATTRIBUTE
138
+ #define NPY_STEALS_REF_TO_ARG(n) \
139
+ __attribute__((cpychecker_steals_reference_to_arg(n)))
140
+ #else
141
+ #define NPY_STEALS_REF_TO_ARG(n)
142
+ #endif
143
+
144
+ /* 64 bit file position support, also on win-amd64. Issue gh-2256 */
145
+ #if defined(_MSC_VER) && defined(_WIN64) && (_MSC_VER > 1400) || \
146
+ defined(__MINGW32__) || defined(__MINGW64__)
147
+ #include <io.h>
148
+
149
+ #define npy_fseek _fseeki64
150
+ #define npy_ftell _ftelli64
151
+ #define npy_lseek _lseeki64
152
+ #define npy_off_t npy_int64
153
+
154
+ #if NPY_SIZEOF_INT == 8
155
+ #define NPY_OFF_T_PYFMT "i"
156
+ #elif NPY_SIZEOF_LONG == 8
157
+ #define NPY_OFF_T_PYFMT "l"
158
+ #elif NPY_SIZEOF_LONGLONG == 8
159
+ #define NPY_OFF_T_PYFMT "L"
160
+ #else
161
+ #error Unsupported size for type off_t
162
+ #endif
163
+ #else
164
+ #ifdef HAVE_FSEEKO
165
+ #define npy_fseek fseeko
166
+ #else
167
+ #define npy_fseek fseek
168
+ #endif
169
+ #ifdef HAVE_FTELLO
170
+ #define npy_ftell ftello
171
+ #else
172
+ #define npy_ftell ftell
173
+ #endif
174
+ #include <sys/types.h>
175
+ #ifndef _WIN32
176
+ #include <unistd.h>
177
+ #endif
178
+ #define npy_lseek lseek
179
+ #define npy_off_t off_t
180
+
181
+ #if NPY_SIZEOF_OFF_T == NPY_SIZEOF_SHORT
182
+ #define NPY_OFF_T_PYFMT "h"
183
+ #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_INT
184
+ #define NPY_OFF_T_PYFMT "i"
185
+ #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_LONG
186
+ #define NPY_OFF_T_PYFMT "l"
187
+ #elif NPY_SIZEOF_OFF_T == NPY_SIZEOF_LONGLONG
188
+ #define NPY_OFF_T_PYFMT "L"
189
+ #else
190
+ #error Unsupported size for type off_t
191
+ #endif
192
+ #endif
193
+
194
+ /* enums for detected endianness */
195
+ enum {
196
+ NPY_CPU_UNKNOWN_ENDIAN,
197
+ NPY_CPU_LITTLE,
198
+ NPY_CPU_BIG
199
+ };
200
+
201
+ /*
202
+ * This is to typedef npy_intp to the appropriate size for Py_ssize_t.
203
+ * (Before NumPy 2.0 we used Py_intptr_t and Py_uintptr_t from `pyport.h`.)
204
+ */
205
+ typedef Py_ssize_t npy_intp;
206
+ typedef size_t npy_uintp;
207
+
208
+ /*
209
+ * Define sizes that were not defined in numpyconfig.h.
210
+ */
211
+ #define NPY_SIZEOF_CHAR 1
212
+ #define NPY_SIZEOF_BYTE 1
213
+ #define NPY_SIZEOF_DATETIME 8
214
+ #define NPY_SIZEOF_TIMEDELTA 8
215
+ #define NPY_SIZEOF_HALF 2
216
+ #define NPY_SIZEOF_CFLOAT NPY_SIZEOF_COMPLEX_FLOAT
217
+ #define NPY_SIZEOF_CDOUBLE NPY_SIZEOF_COMPLEX_DOUBLE
218
+ #define NPY_SIZEOF_CLONGDOUBLE NPY_SIZEOF_COMPLEX_LONGDOUBLE
219
+
220
+ #ifdef constchar
221
+ #undef constchar
222
+ #endif
223
+
224
+ #define NPY_SSIZE_T_PYFMT "n"
225
+ #define constchar char
226
+
227
+ /* NPY_INTP_FMT Note:
228
+ * Unlike the other NPY_*_FMT macros, which are used with PyOS_snprintf,
229
+ * NPY_INTP_FMT is used with PyErr_Format and PyUnicode_FromFormat. Those
230
+ * functions use different formatting codes that are portably specified
231
+ * according to the Python documentation. See issue gh-2388.
232
+ */
233
+ #if NPY_SIZEOF_INTP == NPY_SIZEOF_LONG
234
+ #define NPY_INTP NPY_LONG
235
+ #define NPY_UINTP NPY_ULONG
236
+ #define PyIntpArrType_Type PyLongArrType_Type
237
+ #define PyUIntpArrType_Type PyULongArrType_Type
238
+ #define NPY_MAX_INTP NPY_MAX_LONG
239
+ #define NPY_MIN_INTP NPY_MIN_LONG
240
+ #define NPY_MAX_UINTP NPY_MAX_ULONG
241
+ #define NPY_INTP_FMT "ld"
242
+ #elif NPY_SIZEOF_INTP == NPY_SIZEOF_INT
243
+ #define NPY_INTP NPY_INT
244
+ #define NPY_UINTP NPY_UINT
245
+ #define PyIntpArrType_Type PyIntArrType_Type
246
+ #define PyUIntpArrType_Type PyUIntArrType_Type
247
+ #define NPY_MAX_INTP NPY_MAX_INT
248
+ #define NPY_MIN_INTP NPY_MIN_INT
249
+ #define NPY_MAX_UINTP NPY_MAX_UINT
250
+ #define NPY_INTP_FMT "d"
251
+ #elif defined(PY_LONG_LONG) && (NPY_SIZEOF_INTP == NPY_SIZEOF_LONGLONG)
252
+ #define NPY_INTP NPY_LONGLONG
253
+ #define NPY_UINTP NPY_ULONGLONG
254
+ #define PyIntpArrType_Type PyLongLongArrType_Type
255
+ #define PyUIntpArrType_Type PyULongLongArrType_Type
256
+ #define NPY_MAX_INTP NPY_MAX_LONGLONG
257
+ #define NPY_MIN_INTP NPY_MIN_LONGLONG
258
+ #define NPY_MAX_UINTP NPY_MAX_ULONGLONG
259
+ #define NPY_INTP_FMT "lld"
260
+ #else
261
+ #error "Failed to correctly define NPY_INTP and NPY_UINTP"
262
+ #endif
263
+
264
+
265
+ /*
266
+ * Some platforms don't define bool, long long, or long double.
267
+ * Handle that here.
268
+ */
269
+ #define NPY_BYTE_FMT "hhd"
270
+ #define NPY_UBYTE_FMT "hhu"
271
+ #define NPY_SHORT_FMT "hd"
272
+ #define NPY_USHORT_FMT "hu"
273
+ #define NPY_INT_FMT "d"
274
+ #define NPY_UINT_FMT "u"
275
+ #define NPY_LONG_FMT "ld"
276
+ #define NPY_ULONG_FMT "lu"
277
+ #define NPY_HALF_FMT "g"
278
+ #define NPY_FLOAT_FMT "g"
279
+ #define NPY_DOUBLE_FMT "g"
280
+
281
+
282
+ #ifdef PY_LONG_LONG
283
+ typedef PY_LONG_LONG npy_longlong;
284
+ typedef unsigned PY_LONG_LONG npy_ulonglong;
285
+ # ifdef _MSC_VER
286
+ # define NPY_LONGLONG_FMT "I64d"
287
+ # define NPY_ULONGLONG_FMT "I64u"
288
+ # else
289
+ # define NPY_LONGLONG_FMT "lld"
290
+ # define NPY_ULONGLONG_FMT "llu"
291
+ # endif
292
+ # ifdef _MSC_VER
293
+ # define NPY_LONGLONG_SUFFIX(x) (x##i64)
294
+ # define NPY_ULONGLONG_SUFFIX(x) (x##Ui64)
295
+ # else
296
+ # define NPY_LONGLONG_SUFFIX(x) (x##LL)
297
+ # define NPY_ULONGLONG_SUFFIX(x) (x##ULL)
298
+ # endif
299
+ #else
300
+ typedef long npy_longlong;
301
+ typedef unsigned long npy_ulonglong;
302
+ # define NPY_LONGLONG_SUFFIX(x) (x##L)
303
+ # define NPY_ULONGLONG_SUFFIX(x) (x##UL)
304
+ #endif
305
+
306
+
307
+ typedef unsigned char npy_bool;
308
+ #define NPY_FALSE 0
309
+ #define NPY_TRUE 1
310
+ /*
311
+ * `NPY_SIZEOF_LONGDOUBLE` isn't usually equal to sizeof(long double).
312
+ * In some certain cases, it may forced to be equal to sizeof(double)
313
+ * even against the compiler implementation and the same goes for
314
+ * `complex long double`.
315
+ *
316
+ * Therefore, avoid `long double`, use `npy_longdouble` instead,
317
+ * and when it comes to standard math functions make sure of using
318
+ * the double version when `NPY_SIZEOF_LONGDOUBLE` == `NPY_SIZEOF_DOUBLE`.
319
+ * For example:
320
+ * npy_longdouble *ptr, x;
321
+ * #if NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE
322
+ * npy_longdouble r = modf(x, ptr);
323
+ * #else
324
+ * npy_longdouble r = modfl(x, ptr);
325
+ * #endif
326
+ *
327
+ * See https://github.com/numpy/numpy/issues/20348
328
+ */
329
+ #if NPY_SIZEOF_LONGDOUBLE == NPY_SIZEOF_DOUBLE
330
+ #define NPY_LONGDOUBLE_FMT "g"
331
+ #define longdouble_t double
332
+ typedef double npy_longdouble;
333
+ #else
334
+ #define NPY_LONGDOUBLE_FMT "Lg"
335
+ #define longdouble_t long double
336
+ typedef long double npy_longdouble;
337
+ #endif
338
+
339
+ #ifndef Py_USING_UNICODE
340
+ #error Must use Python with unicode enabled.
341
+ #endif
342
+
343
+
344
+ typedef signed char npy_byte;
345
+ typedef unsigned char npy_ubyte;
346
+ typedef unsigned short npy_ushort;
347
+ typedef unsigned int npy_uint;
348
+ typedef unsigned long npy_ulong;
349
+
350
+ /* These are for completeness */
351
+ typedef char npy_char;
352
+ typedef short npy_short;
353
+ typedef int npy_int;
354
+ typedef long npy_long;
355
+ typedef float npy_float;
356
+ typedef double npy_double;
357
+
358
+ typedef Py_hash_t npy_hash_t;
359
+ #define NPY_SIZEOF_HASH_T NPY_SIZEOF_INTP
360
+
361
+ #if defined(__cplusplus)
362
+
363
+ typedef struct
364
+ {
365
+ double _Val[2];
366
+ } npy_cdouble;
367
+
368
+ typedef struct
369
+ {
370
+ float _Val[2];
371
+ } npy_cfloat;
372
+
373
+ typedef struct
374
+ {
375
+ long double _Val[2];
376
+ } npy_clongdouble;
377
+
378
+ #else
379
+
380
+ #include <complex.h>
381
+
382
+
383
+ #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
384
+ typedef _Dcomplex npy_cdouble;
385
+ typedef _Fcomplex npy_cfloat;
386
+ typedef _Lcomplex npy_clongdouble;
387
+ #else /* !defined(_MSC_VER) || defined(__INTEL_COMPILER) */
388
+ typedef double _Complex npy_cdouble;
389
+ typedef float _Complex npy_cfloat;
390
+ typedef longdouble_t _Complex npy_clongdouble;
391
+ #endif
392
+
393
+ #endif
394
+
395
+ /*
396
+ * numarray-style bit-width typedefs
397
+ */
398
+ #define NPY_MAX_INT8 127
399
+ #define NPY_MIN_INT8 -128
400
+ #define NPY_MAX_UINT8 255
401
+ #define NPY_MAX_INT16 32767
402
+ #define NPY_MIN_INT16 -32768
403
+ #define NPY_MAX_UINT16 65535
404
+ #define NPY_MAX_INT32 2147483647
405
+ #define NPY_MIN_INT32 (-NPY_MAX_INT32 - 1)
406
+ #define NPY_MAX_UINT32 4294967295U
407
+ #define NPY_MAX_INT64 NPY_LONGLONG_SUFFIX(9223372036854775807)
408
+ #define NPY_MIN_INT64 (-NPY_MAX_INT64 - NPY_LONGLONG_SUFFIX(1))
409
+ #define NPY_MAX_UINT64 NPY_ULONGLONG_SUFFIX(18446744073709551615)
410
+ #define NPY_MAX_INT128 NPY_LONGLONG_SUFFIX(85070591730234615865843651857942052864)
411
+ #define NPY_MIN_INT128 (-NPY_MAX_INT128 - NPY_LONGLONG_SUFFIX(1))
412
+ #define NPY_MAX_UINT128 NPY_ULONGLONG_SUFFIX(170141183460469231731687303715884105728)
413
+ #define NPY_MIN_DATETIME NPY_MIN_INT64
414
+ #define NPY_MAX_DATETIME NPY_MAX_INT64
415
+ #define NPY_MIN_TIMEDELTA NPY_MIN_INT64
416
+ #define NPY_MAX_TIMEDELTA NPY_MAX_INT64
417
+
418
+ /* Need to find the number of bits for each type and
419
+ make definitions accordingly.
420
+
421
+ C states that sizeof(char) == 1 by definition
422
+
423
+ So, just using the sizeof keyword won't help.
424
+
425
+ It also looks like Python itself uses sizeof(char) quite a
426
+ bit, which by definition should be 1 all the time.
427
+
428
+ Idea: Make Use of CHAR_BIT which should tell us how many
429
+ BITS per CHARACTER
430
+ */
431
+
432
+ /* Include platform definitions -- These are in the C89/90 standard */
433
+ #include <limits.h>
434
+ #define NPY_MAX_BYTE SCHAR_MAX
435
+ #define NPY_MIN_BYTE SCHAR_MIN
436
+ #define NPY_MAX_UBYTE UCHAR_MAX
437
+ #define NPY_MAX_SHORT SHRT_MAX
438
+ #define NPY_MIN_SHORT SHRT_MIN
439
+ #define NPY_MAX_USHORT USHRT_MAX
440
+ #define NPY_MAX_INT INT_MAX
441
+ #ifndef INT_MIN
442
+ #define INT_MIN (-INT_MAX - 1)
443
+ #endif
444
+ #define NPY_MIN_INT INT_MIN
445
+ #define NPY_MAX_UINT UINT_MAX
446
+ #define NPY_MAX_LONG LONG_MAX
447
+ #define NPY_MIN_LONG LONG_MIN
448
+ #define NPY_MAX_ULONG ULONG_MAX
449
+
450
+ #define NPY_BITSOF_BOOL (sizeof(npy_bool) * CHAR_BIT)
451
+ #define NPY_BITSOF_CHAR CHAR_BIT
452
+ #define NPY_BITSOF_BYTE (NPY_SIZEOF_BYTE * CHAR_BIT)
453
+ #define NPY_BITSOF_SHORT (NPY_SIZEOF_SHORT * CHAR_BIT)
454
+ #define NPY_BITSOF_INT (NPY_SIZEOF_INT * CHAR_BIT)
455
+ #define NPY_BITSOF_LONG (NPY_SIZEOF_LONG * CHAR_BIT)
456
+ #define NPY_BITSOF_LONGLONG (NPY_SIZEOF_LONGLONG * CHAR_BIT)
457
+ #define NPY_BITSOF_INTP (NPY_SIZEOF_INTP * CHAR_BIT)
458
+ #define NPY_BITSOF_HALF (NPY_SIZEOF_HALF * CHAR_BIT)
459
+ #define NPY_BITSOF_FLOAT (NPY_SIZEOF_FLOAT * CHAR_BIT)
460
+ #define NPY_BITSOF_DOUBLE (NPY_SIZEOF_DOUBLE * CHAR_BIT)
461
+ #define NPY_BITSOF_LONGDOUBLE (NPY_SIZEOF_LONGDOUBLE * CHAR_BIT)
462
+ #define NPY_BITSOF_CFLOAT (NPY_SIZEOF_CFLOAT * CHAR_BIT)
463
+ #define NPY_BITSOF_CDOUBLE (NPY_SIZEOF_CDOUBLE * CHAR_BIT)
464
+ #define NPY_BITSOF_CLONGDOUBLE (NPY_SIZEOF_CLONGDOUBLE * CHAR_BIT)
465
+ #define NPY_BITSOF_DATETIME (NPY_SIZEOF_DATETIME * CHAR_BIT)
466
+ #define NPY_BITSOF_TIMEDELTA (NPY_SIZEOF_TIMEDELTA * CHAR_BIT)
467
+
468
+ #if NPY_BITSOF_LONG == 8
469
+ #define NPY_INT8 NPY_LONG
470
+ #define NPY_UINT8 NPY_ULONG
471
+ typedef long npy_int8;
472
+ typedef unsigned long npy_uint8;
473
+ #define PyInt8ScalarObject PyLongScalarObject
474
+ #define PyInt8ArrType_Type PyLongArrType_Type
475
+ #define PyUInt8ScalarObject PyULongScalarObject
476
+ #define PyUInt8ArrType_Type PyULongArrType_Type
477
+ #define NPY_INT8_FMT NPY_LONG_FMT
478
+ #define NPY_UINT8_FMT NPY_ULONG_FMT
479
+ #elif NPY_BITSOF_LONG == 16
480
+ #define NPY_INT16 NPY_LONG
481
+ #define NPY_UINT16 NPY_ULONG
482
+ typedef long npy_int16;
483
+ typedef unsigned long npy_uint16;
484
+ #define PyInt16ScalarObject PyLongScalarObject
485
+ #define PyInt16ArrType_Type PyLongArrType_Type
486
+ #define PyUInt16ScalarObject PyULongScalarObject
487
+ #define PyUInt16ArrType_Type PyULongArrType_Type
488
+ #define NPY_INT16_FMT NPY_LONG_FMT
489
+ #define NPY_UINT16_FMT NPY_ULONG_FMT
490
+ #elif NPY_BITSOF_LONG == 32
491
+ #define NPY_INT32 NPY_LONG
492
+ #define NPY_UINT32 NPY_ULONG
493
+ typedef long npy_int32;
494
+ typedef unsigned long npy_uint32;
495
+ typedef unsigned long npy_ucs4;
496
+ #define PyInt32ScalarObject PyLongScalarObject
497
+ #define PyInt32ArrType_Type PyLongArrType_Type
498
+ #define PyUInt32ScalarObject PyULongScalarObject
499
+ #define PyUInt32ArrType_Type PyULongArrType_Type
500
+ #define NPY_INT32_FMT NPY_LONG_FMT
501
+ #define NPY_UINT32_FMT NPY_ULONG_FMT
502
+ #elif NPY_BITSOF_LONG == 64
503
+ #define NPY_INT64 NPY_LONG
504
+ #define NPY_UINT64 NPY_ULONG
505
+ typedef long npy_int64;
506
+ typedef unsigned long npy_uint64;
507
+ #define PyInt64ScalarObject PyLongScalarObject
508
+ #define PyInt64ArrType_Type PyLongArrType_Type
509
+ #define PyUInt64ScalarObject PyULongScalarObject
510
+ #define PyUInt64ArrType_Type PyULongArrType_Type
511
+ #define NPY_INT64_FMT NPY_LONG_FMT
512
+ #define NPY_UINT64_FMT NPY_ULONG_FMT
513
+ #define MyPyLong_FromInt64 PyLong_FromLong
514
+ #define MyPyLong_AsInt64 PyLong_AsLong
515
+ #endif
516
+
517
+ #if NPY_BITSOF_LONGLONG == 8
518
+ # ifndef NPY_INT8
519
+ # define NPY_INT8 NPY_LONGLONG
520
+ # define NPY_UINT8 NPY_ULONGLONG
521
+ typedef npy_longlong npy_int8;
522
+ typedef npy_ulonglong npy_uint8;
523
+ # define PyInt8ScalarObject PyLongLongScalarObject
524
+ # define PyInt8ArrType_Type PyLongLongArrType_Type
525
+ # define PyUInt8ScalarObject PyULongLongScalarObject
526
+ # define PyUInt8ArrType_Type PyULongLongArrType_Type
527
+ #define NPY_INT8_FMT NPY_LONGLONG_FMT
528
+ #define NPY_UINT8_FMT NPY_ULONGLONG_FMT
529
+ # endif
530
+ # define NPY_MAX_LONGLONG NPY_MAX_INT8
531
+ # define NPY_MIN_LONGLONG NPY_MIN_INT8
532
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT8
533
+ #elif NPY_BITSOF_LONGLONG == 16
534
+ # ifndef NPY_INT16
535
+ # define NPY_INT16 NPY_LONGLONG
536
+ # define NPY_UINT16 NPY_ULONGLONG
537
+ typedef npy_longlong npy_int16;
538
+ typedef npy_ulonglong npy_uint16;
539
+ # define PyInt16ScalarObject PyLongLongScalarObject
540
+ # define PyInt16ArrType_Type PyLongLongArrType_Type
541
+ # define PyUInt16ScalarObject PyULongLongScalarObject
542
+ # define PyUInt16ArrType_Type PyULongLongArrType_Type
543
+ #define NPY_INT16_FMT NPY_LONGLONG_FMT
544
+ #define NPY_UINT16_FMT NPY_ULONGLONG_FMT
545
+ # endif
546
+ # define NPY_MAX_LONGLONG NPY_MAX_INT16
547
+ # define NPY_MIN_LONGLONG NPY_MIN_INT16
548
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT16
549
+ #elif NPY_BITSOF_LONGLONG == 32
550
+ # ifndef NPY_INT32
551
+ # define NPY_INT32 NPY_LONGLONG
552
+ # define NPY_UINT32 NPY_ULONGLONG
553
+ typedef npy_longlong npy_int32;
554
+ typedef npy_ulonglong npy_uint32;
555
+ typedef npy_ulonglong npy_ucs4;
556
+ # define PyInt32ScalarObject PyLongLongScalarObject
557
+ # define PyInt32ArrType_Type PyLongLongArrType_Type
558
+ # define PyUInt32ScalarObject PyULongLongScalarObject
559
+ # define PyUInt32ArrType_Type PyULongLongArrType_Type
560
+ #define NPY_INT32_FMT NPY_LONGLONG_FMT
561
+ #define NPY_UINT32_FMT NPY_ULONGLONG_FMT
562
+ # endif
563
+ # define NPY_MAX_LONGLONG NPY_MAX_INT32
564
+ # define NPY_MIN_LONGLONG NPY_MIN_INT32
565
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT32
566
+ #elif NPY_BITSOF_LONGLONG == 64
567
+ # ifndef NPY_INT64
568
+ # define NPY_INT64 NPY_LONGLONG
569
+ # define NPY_UINT64 NPY_ULONGLONG
570
+ typedef npy_longlong npy_int64;
571
+ typedef npy_ulonglong npy_uint64;
572
+ # define PyInt64ScalarObject PyLongLongScalarObject
573
+ # define PyInt64ArrType_Type PyLongLongArrType_Type
574
+ # define PyUInt64ScalarObject PyULongLongScalarObject
575
+ # define PyUInt64ArrType_Type PyULongLongArrType_Type
576
+ #define NPY_INT64_FMT NPY_LONGLONG_FMT
577
+ #define NPY_UINT64_FMT NPY_ULONGLONG_FMT
578
+ # define MyPyLong_FromInt64 PyLong_FromLongLong
579
+ # define MyPyLong_AsInt64 PyLong_AsLongLong
580
+ # endif
581
+ # define NPY_MAX_LONGLONG NPY_MAX_INT64
582
+ # define NPY_MIN_LONGLONG NPY_MIN_INT64
583
+ # define NPY_MAX_ULONGLONG NPY_MAX_UINT64
584
+ #endif
585
+
586
+ #if NPY_BITSOF_INT == 8
587
+ #ifndef NPY_INT8
588
+ #define NPY_INT8 NPY_INT
589
+ #define NPY_UINT8 NPY_UINT
590
+ typedef int npy_int8;
591
+ typedef unsigned int npy_uint8;
592
+ # define PyInt8ScalarObject PyIntScalarObject
593
+ # define PyInt8ArrType_Type PyIntArrType_Type
594
+ # define PyUInt8ScalarObject PyUIntScalarObject
595
+ # define PyUInt8ArrType_Type PyUIntArrType_Type
596
+ #define NPY_INT8_FMT NPY_INT_FMT
597
+ #define NPY_UINT8_FMT NPY_UINT_FMT
598
+ #endif
599
+ #elif NPY_BITSOF_INT == 16
600
+ #ifndef NPY_INT16
601
+ #define NPY_INT16 NPY_INT
602
+ #define NPY_UINT16 NPY_UINT
603
+ typedef int npy_int16;
604
+ typedef unsigned int npy_uint16;
605
+ # define PyInt16ScalarObject PyIntScalarObject
606
+ # define PyInt16ArrType_Type PyIntArrType_Type
607
+ # define PyUInt16ScalarObject PyIntUScalarObject
608
+ # define PyUInt16ArrType_Type PyIntUArrType_Type
609
+ #define NPY_INT16_FMT NPY_INT_FMT
610
+ #define NPY_UINT16_FMT NPY_UINT_FMT
611
+ #endif
612
+ #elif NPY_BITSOF_INT == 32
613
+ #ifndef NPY_INT32
614
+ #define NPY_INT32 NPY_INT
615
+ #define NPY_UINT32 NPY_UINT
616
+ typedef int npy_int32;
617
+ typedef unsigned int npy_uint32;
618
+ typedef unsigned int npy_ucs4;
619
+ # define PyInt32ScalarObject PyIntScalarObject
620
+ # define PyInt32ArrType_Type PyIntArrType_Type
621
+ # define PyUInt32ScalarObject PyUIntScalarObject
622
+ # define PyUInt32ArrType_Type PyUIntArrType_Type
623
+ #define NPY_INT32_FMT NPY_INT_FMT
624
+ #define NPY_UINT32_FMT NPY_UINT_FMT
625
+ #endif
626
+ #elif NPY_BITSOF_INT == 64
627
+ #ifndef NPY_INT64
628
+ #define NPY_INT64 NPY_INT
629
+ #define NPY_UINT64 NPY_UINT
630
+ typedef int npy_int64;
631
+ typedef unsigned int npy_uint64;
632
+ # define PyInt64ScalarObject PyIntScalarObject
633
+ # define PyInt64ArrType_Type PyIntArrType_Type
634
+ # define PyUInt64ScalarObject PyUIntScalarObject
635
+ # define PyUInt64ArrType_Type PyUIntArrType_Type
636
+ #define NPY_INT64_FMT NPY_INT_FMT
637
+ #define NPY_UINT64_FMT NPY_UINT_FMT
638
+ # define MyPyLong_FromInt64 PyLong_FromLong
639
+ # define MyPyLong_AsInt64 PyLong_AsLong
640
+ #endif
641
+ #endif
642
+
643
+ #if NPY_BITSOF_SHORT == 8
644
+ #ifndef NPY_INT8
645
+ #define NPY_INT8 NPY_SHORT
646
+ #define NPY_UINT8 NPY_USHORT
647
+ typedef short npy_int8;
648
+ typedef unsigned short npy_uint8;
649
+ # define PyInt8ScalarObject PyShortScalarObject
650
+ # define PyInt8ArrType_Type PyShortArrType_Type
651
+ # define PyUInt8ScalarObject PyUShortScalarObject
652
+ # define PyUInt8ArrType_Type PyUShortArrType_Type
653
+ #define NPY_INT8_FMT NPY_SHORT_FMT
654
+ #define NPY_UINT8_FMT NPY_USHORT_FMT
655
+ #endif
656
+ #elif NPY_BITSOF_SHORT == 16
657
+ #ifndef NPY_INT16
658
+ #define NPY_INT16 NPY_SHORT
659
+ #define NPY_UINT16 NPY_USHORT
660
+ typedef short npy_int16;
661
+ typedef unsigned short npy_uint16;
662
+ # define PyInt16ScalarObject PyShortScalarObject
663
+ # define PyInt16ArrType_Type PyShortArrType_Type
664
+ # define PyUInt16ScalarObject PyUShortScalarObject
665
+ # define PyUInt16ArrType_Type PyUShortArrType_Type
666
+ #define NPY_INT16_FMT NPY_SHORT_FMT
667
+ #define NPY_UINT16_FMT NPY_USHORT_FMT
668
+ #endif
669
+ #elif NPY_BITSOF_SHORT == 32
670
+ #ifndef NPY_INT32
671
+ #define NPY_INT32 NPY_SHORT
672
+ #define NPY_UINT32 NPY_USHORT
673
+ typedef short npy_int32;
674
+ typedef unsigned short npy_uint32;
675
+ typedef unsigned short npy_ucs4;
676
+ # define PyInt32ScalarObject PyShortScalarObject
677
+ # define PyInt32ArrType_Type PyShortArrType_Type
678
+ # define PyUInt32ScalarObject PyUShortScalarObject
679
+ # define PyUInt32ArrType_Type PyUShortArrType_Type
680
+ #define NPY_INT32_FMT NPY_SHORT_FMT
681
+ #define NPY_UINT32_FMT NPY_USHORT_FMT
682
+ #endif
683
+ #elif NPY_BITSOF_SHORT == 64
684
+ #ifndef NPY_INT64
685
+ #define NPY_INT64 NPY_SHORT
686
+ #define NPY_UINT64 NPY_USHORT
687
+ typedef short npy_int64;
688
+ typedef unsigned short npy_uint64;
689
+ # define PyInt64ScalarObject PyShortScalarObject
690
+ # define PyInt64ArrType_Type PyShortArrType_Type
691
+ # define PyUInt64ScalarObject PyUShortScalarObject
692
+ # define PyUInt64ArrType_Type PyUShortArrType_Type
693
+ #define NPY_INT64_FMT NPY_SHORT_FMT
694
+ #define NPY_UINT64_FMT NPY_USHORT_FMT
695
+ # define MyPyLong_FromInt64 PyLong_FromLong
696
+ # define MyPyLong_AsInt64 PyLong_AsLong
697
+ #endif
698
+ #endif
699
+
700
+
701
+ #if NPY_BITSOF_CHAR == 8
702
+ #ifndef NPY_INT8
703
+ #define NPY_INT8 NPY_BYTE
704
+ #define NPY_UINT8 NPY_UBYTE
705
+ typedef signed char npy_int8;
706
+ typedef unsigned char npy_uint8;
707
+ # define PyInt8ScalarObject PyByteScalarObject
708
+ # define PyInt8ArrType_Type PyByteArrType_Type
709
+ # define PyUInt8ScalarObject PyUByteScalarObject
710
+ # define PyUInt8ArrType_Type PyUByteArrType_Type
711
+ #define NPY_INT8_FMT NPY_BYTE_FMT
712
+ #define NPY_UINT8_FMT NPY_UBYTE_FMT
713
+ #endif
714
+ #elif NPY_BITSOF_CHAR == 16
715
+ #ifndef NPY_INT16
716
+ #define NPY_INT16 NPY_BYTE
717
+ #define NPY_UINT16 NPY_UBYTE
718
+ typedef signed char npy_int16;
719
+ typedef unsigned char npy_uint16;
720
+ # define PyInt16ScalarObject PyByteScalarObject
721
+ # define PyInt16ArrType_Type PyByteArrType_Type
722
+ # define PyUInt16ScalarObject PyUByteScalarObject
723
+ # define PyUInt16ArrType_Type PyUByteArrType_Type
724
+ #define NPY_INT16_FMT NPY_BYTE_FMT
725
+ #define NPY_UINT16_FMT NPY_UBYTE_FMT
726
+ #endif
727
+ #elif NPY_BITSOF_CHAR == 32
728
+ #ifndef NPY_INT32
729
+ #define NPY_INT32 NPY_BYTE
730
+ #define NPY_UINT32 NPY_UBYTE
731
+ typedef signed char npy_int32;
732
+ typedef unsigned char npy_uint32;
733
+ typedef unsigned char npy_ucs4;
734
+ # define PyInt32ScalarObject PyByteScalarObject
735
+ # define PyInt32ArrType_Type PyByteArrType_Type
736
+ # define PyUInt32ScalarObject PyUByteScalarObject
737
+ # define PyUInt32ArrType_Type PyUByteArrType_Type
738
+ #define NPY_INT32_FMT NPY_BYTE_FMT
739
+ #define NPY_UINT32_FMT NPY_UBYTE_FMT
740
+ #endif
741
+ #elif NPY_BITSOF_CHAR == 64
742
+ #ifndef NPY_INT64
743
+ #define NPY_INT64 NPY_BYTE
744
+ #define NPY_UINT64 NPY_UBYTE
745
+ typedef signed char npy_int64;
746
+ typedef unsigned char npy_uint64;
747
+ # define PyInt64ScalarObject PyByteScalarObject
748
+ # define PyInt64ArrType_Type PyByteArrType_Type
749
+ # define PyUInt64ScalarObject PyUByteScalarObject
750
+ # define PyUInt64ArrType_Type PyUByteArrType_Type
751
+ #define NPY_INT64_FMT NPY_BYTE_FMT
752
+ #define NPY_UINT64_FMT NPY_UBYTE_FMT
753
+ # define MyPyLong_FromInt64 PyLong_FromLong
754
+ # define MyPyLong_AsInt64 PyLong_AsLong
755
+ #endif
756
+ #elif NPY_BITSOF_CHAR == 128
757
+ #endif
758
+
759
+
760
+
761
+ #if NPY_BITSOF_DOUBLE == 32
762
+ #ifndef NPY_FLOAT32
763
+ #define NPY_FLOAT32 NPY_DOUBLE
764
+ #define NPY_COMPLEX64 NPY_CDOUBLE
765
+ typedef double npy_float32;
766
+ typedef npy_cdouble npy_complex64;
767
+ # define PyFloat32ScalarObject PyDoubleScalarObject
768
+ # define PyComplex64ScalarObject PyCDoubleScalarObject
769
+ # define PyFloat32ArrType_Type PyDoubleArrType_Type
770
+ # define PyComplex64ArrType_Type PyCDoubleArrType_Type
771
+ #define NPY_FLOAT32_FMT NPY_DOUBLE_FMT
772
+ #define NPY_COMPLEX64_FMT NPY_CDOUBLE_FMT
773
+ #endif
774
+ #elif NPY_BITSOF_DOUBLE == 64
775
+ #ifndef NPY_FLOAT64
776
+ #define NPY_FLOAT64 NPY_DOUBLE
777
+ #define NPY_COMPLEX128 NPY_CDOUBLE
778
+ typedef double npy_float64;
779
+ typedef npy_cdouble npy_complex128;
780
+ # define PyFloat64ScalarObject PyDoubleScalarObject
781
+ # define PyComplex128ScalarObject PyCDoubleScalarObject
782
+ # define PyFloat64ArrType_Type PyDoubleArrType_Type
783
+ # define PyComplex128ArrType_Type PyCDoubleArrType_Type
784
+ #define NPY_FLOAT64_FMT NPY_DOUBLE_FMT
785
+ #define NPY_COMPLEX128_FMT NPY_CDOUBLE_FMT
786
+ #endif
787
+ #elif NPY_BITSOF_DOUBLE == 80
788
+ #ifndef NPY_FLOAT80
789
+ #define NPY_FLOAT80 NPY_DOUBLE
790
+ #define NPY_COMPLEX160 NPY_CDOUBLE
791
+ typedef double npy_float80;
792
+ typedef npy_cdouble npy_complex160;
793
+ # define PyFloat80ScalarObject PyDoubleScalarObject
794
+ # define PyComplex160ScalarObject PyCDoubleScalarObject
795
+ # define PyFloat80ArrType_Type PyDoubleArrType_Type
796
+ # define PyComplex160ArrType_Type PyCDoubleArrType_Type
797
+ #define NPY_FLOAT80_FMT NPY_DOUBLE_FMT
798
+ #define NPY_COMPLEX160_FMT NPY_CDOUBLE_FMT
799
+ #endif
800
+ #elif NPY_BITSOF_DOUBLE == 96
801
+ #ifndef NPY_FLOAT96
802
+ #define NPY_FLOAT96 NPY_DOUBLE
803
+ #define NPY_COMPLEX192 NPY_CDOUBLE
804
+ typedef double npy_float96;
805
+ typedef npy_cdouble npy_complex192;
806
+ # define PyFloat96ScalarObject PyDoubleScalarObject
807
+ # define PyComplex192ScalarObject PyCDoubleScalarObject
808
+ # define PyFloat96ArrType_Type PyDoubleArrType_Type
809
+ # define PyComplex192ArrType_Type PyCDoubleArrType_Type
810
+ #define NPY_FLOAT96_FMT NPY_DOUBLE_FMT
811
+ #define NPY_COMPLEX192_FMT NPY_CDOUBLE_FMT
812
+ #endif
813
+ #elif NPY_BITSOF_DOUBLE == 128
814
+ #ifndef NPY_FLOAT128
815
+ #define NPY_FLOAT128 NPY_DOUBLE
816
+ #define NPY_COMPLEX256 NPY_CDOUBLE
817
+ typedef double npy_float128;
818
+ typedef npy_cdouble npy_complex256;
819
+ # define PyFloat128ScalarObject PyDoubleScalarObject
820
+ # define PyComplex256ScalarObject PyCDoubleScalarObject
821
+ # define PyFloat128ArrType_Type PyDoubleArrType_Type
822
+ # define PyComplex256ArrType_Type PyCDoubleArrType_Type
823
+ #define NPY_FLOAT128_FMT NPY_DOUBLE_FMT
824
+ #define NPY_COMPLEX256_FMT NPY_CDOUBLE_FMT
825
+ #endif
826
+ #endif
827
+
828
+
829
+
830
+ #if NPY_BITSOF_FLOAT == 32
831
+ #ifndef NPY_FLOAT32
832
+ #define NPY_FLOAT32 NPY_FLOAT
833
+ #define NPY_COMPLEX64 NPY_CFLOAT
834
+ typedef float npy_float32;
835
+ typedef npy_cfloat npy_complex64;
836
+ # define PyFloat32ScalarObject PyFloatScalarObject
837
+ # define PyComplex64ScalarObject PyCFloatScalarObject
838
+ # define PyFloat32ArrType_Type PyFloatArrType_Type
839
+ # define PyComplex64ArrType_Type PyCFloatArrType_Type
840
+ #define NPY_FLOAT32_FMT NPY_FLOAT_FMT
841
+ #define NPY_COMPLEX64_FMT NPY_CFLOAT_FMT
842
+ #endif
843
+ #elif NPY_BITSOF_FLOAT == 64
844
+ #ifndef NPY_FLOAT64
845
+ #define NPY_FLOAT64 NPY_FLOAT
846
+ #define NPY_COMPLEX128 NPY_CFLOAT
847
+ typedef float npy_float64;
848
+ typedef npy_cfloat npy_complex128;
849
+ # define PyFloat64ScalarObject PyFloatScalarObject
850
+ # define PyComplex128ScalarObject PyCFloatScalarObject
851
+ # define PyFloat64ArrType_Type PyFloatArrType_Type
852
+ # define PyComplex128ArrType_Type PyCFloatArrType_Type
853
+ #define NPY_FLOAT64_FMT NPY_FLOAT_FMT
854
+ #define NPY_COMPLEX128_FMT NPY_CFLOAT_FMT
855
+ #endif
856
+ #elif NPY_BITSOF_FLOAT == 80
857
+ #ifndef NPY_FLOAT80
858
+ #define NPY_FLOAT80 NPY_FLOAT
859
+ #define NPY_COMPLEX160 NPY_CFLOAT
860
+ typedef float npy_float80;
861
+ typedef npy_cfloat npy_complex160;
862
+ # define PyFloat80ScalarObject PyFloatScalarObject
863
+ # define PyComplex160ScalarObject PyCFloatScalarObject
864
+ # define PyFloat80ArrType_Type PyFloatArrType_Type
865
+ # define PyComplex160ArrType_Type PyCFloatArrType_Type
866
+ #define NPY_FLOAT80_FMT NPY_FLOAT_FMT
867
+ #define NPY_COMPLEX160_FMT NPY_CFLOAT_FMT
868
+ #endif
869
+ #elif NPY_BITSOF_FLOAT == 96
870
+ #ifndef NPY_FLOAT96
871
+ #define NPY_FLOAT96 NPY_FLOAT
872
+ #define NPY_COMPLEX192 NPY_CFLOAT
873
+ typedef float npy_float96;
874
+ typedef npy_cfloat npy_complex192;
875
+ # define PyFloat96ScalarObject PyFloatScalarObject
876
+ # define PyComplex192ScalarObject PyCFloatScalarObject
877
+ # define PyFloat96ArrType_Type PyFloatArrType_Type
878
+ # define PyComplex192ArrType_Type PyCFloatArrType_Type
879
+ #define NPY_FLOAT96_FMT NPY_FLOAT_FMT
880
+ #define NPY_COMPLEX192_FMT NPY_CFLOAT_FMT
881
+ #endif
882
+ #elif NPY_BITSOF_FLOAT == 128
883
+ #ifndef NPY_FLOAT128
884
+ #define NPY_FLOAT128 NPY_FLOAT
885
+ #define NPY_COMPLEX256 NPY_CFLOAT
886
+ typedef float npy_float128;
887
+ typedef npy_cfloat npy_complex256;
888
+ # define PyFloat128ScalarObject PyFloatScalarObject
889
+ # define PyComplex256ScalarObject PyCFloatScalarObject
890
+ # define PyFloat128ArrType_Type PyFloatArrType_Type
891
+ # define PyComplex256ArrType_Type PyCFloatArrType_Type
892
+ #define NPY_FLOAT128_FMT NPY_FLOAT_FMT
893
+ #define NPY_COMPLEX256_FMT NPY_CFLOAT_FMT
894
+ #endif
895
+ #endif
896
+
897
+ /* half/float16 isn't a floating-point type in C */
898
+ #define NPY_FLOAT16 NPY_HALF
899
+ typedef npy_uint16 npy_half;
900
+ typedef npy_half npy_float16;
901
+
902
+ #if NPY_BITSOF_LONGDOUBLE == 32
903
+ #ifndef NPY_FLOAT32
904
+ #define NPY_FLOAT32 NPY_LONGDOUBLE
905
+ #define NPY_COMPLEX64 NPY_CLONGDOUBLE
906
+ typedef npy_longdouble npy_float32;
907
+ typedef npy_clongdouble npy_complex64;
908
+ # define PyFloat32ScalarObject PyLongDoubleScalarObject
909
+ # define PyComplex64ScalarObject PyCLongDoubleScalarObject
910
+ # define PyFloat32ArrType_Type PyLongDoubleArrType_Type
911
+ # define PyComplex64ArrType_Type PyCLongDoubleArrType_Type
912
+ #define NPY_FLOAT32_FMT NPY_LONGDOUBLE_FMT
913
+ #define NPY_COMPLEX64_FMT NPY_CLONGDOUBLE_FMT
914
+ #endif
915
+ #elif NPY_BITSOF_LONGDOUBLE == 64
916
+ #ifndef NPY_FLOAT64
917
+ #define NPY_FLOAT64 NPY_LONGDOUBLE
918
+ #define NPY_COMPLEX128 NPY_CLONGDOUBLE
919
+ typedef npy_longdouble npy_float64;
920
+ typedef npy_clongdouble npy_complex128;
921
+ # define PyFloat64ScalarObject PyLongDoubleScalarObject
922
+ # define PyComplex128ScalarObject PyCLongDoubleScalarObject
923
+ # define PyFloat64ArrType_Type PyLongDoubleArrType_Type
924
+ # define PyComplex128ArrType_Type PyCLongDoubleArrType_Type
925
+ #define NPY_FLOAT64_FMT NPY_LONGDOUBLE_FMT
926
+ #define NPY_COMPLEX128_FMT NPY_CLONGDOUBLE_FMT
927
+ #endif
928
+ #elif NPY_BITSOF_LONGDOUBLE == 80
929
+ #ifndef NPY_FLOAT80
930
+ #define NPY_FLOAT80 NPY_LONGDOUBLE
931
+ #define NPY_COMPLEX160 NPY_CLONGDOUBLE
932
+ typedef npy_longdouble npy_float80;
933
+ typedef npy_clongdouble npy_complex160;
934
+ # define PyFloat80ScalarObject PyLongDoubleScalarObject
935
+ # define PyComplex160ScalarObject PyCLongDoubleScalarObject
936
+ # define PyFloat80ArrType_Type PyLongDoubleArrType_Type
937
+ # define PyComplex160ArrType_Type PyCLongDoubleArrType_Type
938
+ #define NPY_FLOAT80_FMT NPY_LONGDOUBLE_FMT
939
+ #define NPY_COMPLEX160_FMT NPY_CLONGDOUBLE_FMT
940
+ #endif
941
+ #elif NPY_BITSOF_LONGDOUBLE == 96
942
+ #ifndef NPY_FLOAT96
943
+ #define NPY_FLOAT96 NPY_LONGDOUBLE
944
+ #define NPY_COMPLEX192 NPY_CLONGDOUBLE
945
+ typedef npy_longdouble npy_float96;
946
+ typedef npy_clongdouble npy_complex192;
947
+ # define PyFloat96ScalarObject PyLongDoubleScalarObject
948
+ # define PyComplex192ScalarObject PyCLongDoubleScalarObject
949
+ # define PyFloat96ArrType_Type PyLongDoubleArrType_Type
950
+ # define PyComplex192ArrType_Type PyCLongDoubleArrType_Type
951
+ #define NPY_FLOAT96_FMT NPY_LONGDOUBLE_FMT
952
+ #define NPY_COMPLEX192_FMT NPY_CLONGDOUBLE_FMT
953
+ #endif
954
+ #elif NPY_BITSOF_LONGDOUBLE == 128
955
+ #ifndef NPY_FLOAT128
956
+ #define NPY_FLOAT128 NPY_LONGDOUBLE
957
+ #define NPY_COMPLEX256 NPY_CLONGDOUBLE
958
+ typedef npy_longdouble npy_float128;
959
+ typedef npy_clongdouble npy_complex256;
960
+ # define PyFloat128ScalarObject PyLongDoubleScalarObject
961
+ # define PyComplex256ScalarObject PyCLongDoubleScalarObject
962
+ # define PyFloat128ArrType_Type PyLongDoubleArrType_Type
963
+ # define PyComplex256ArrType_Type PyCLongDoubleArrType_Type
964
+ #define NPY_FLOAT128_FMT NPY_LONGDOUBLE_FMT
965
+ #define NPY_COMPLEX256_FMT NPY_CLONGDOUBLE_FMT
966
+ #endif
967
+ #endif
968
+
969
+ /* datetime typedefs */
970
+ typedef npy_int64 npy_timedelta;
971
+ typedef npy_int64 npy_datetime;
972
+ #define NPY_DATETIME_FMT NPY_INT64_FMT
973
+ #define NPY_TIMEDELTA_FMT NPY_INT64_FMT
974
+
975
+ /* End of typedefs for numarray style bit-width names */
976
+
977
+ #endif /* NUMPY_CORE_INCLUDE_NUMPY_NPY_COMMON_H_ */