VashuTheGreat2 commited on
Commit
3bb7105
·
verified ·
1 Parent(s): 292e4a9

Upload folder using huggingface_hub (part 22)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +2 -0
  2. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/INSTALLER +1 -0
  3. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/METADATA +139 -0
  4. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/RECORD +917 -0
  5. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/REQUESTED +0 -0
  6. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/WHEEL +6 -0
  7. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/entry_points.txt +13 -0
  8. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/LICENSE.txt +935 -0
  9. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/include/numpy/libdivide/LICENSE.txt +21 -0
  10. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/COPYING +14 -0
  11. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/highway/LICENSE +371 -0
  12. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/multiarray/dragon4_LICENSE.txt +27 -0
  13. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/LICENSE.md +28 -0
  14. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/umath/svml/LICENSE +30 -0
  15. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/fft/pocketfft/LICENSE.md +25 -0
  16. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/linalg/lapack_lite/LICENSE.txt +48 -0
  17. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/ma/LICENSE +24 -0
  18. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/LICENSE.md +71 -0
  19. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/distributions/LICENSE.md +61 -0
  20. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/mt19937/LICENSE.md +61 -0
  21. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/pcg64/LICENSE.md +22 -0
  22. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/philox/LICENSE.md +31 -0
  23. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/sfc64/LICENSE.md +27 -0
  24. .venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/splitmix64/LICENSE.md +9 -0
  25. .venv/lib/python3.12/site-packages/numpy.libs/libgfortran-040039e1-0352e75f.so.5.0.0 +3 -0
  26. .venv/lib/python3.12/site-packages/numpy.libs/libquadmath-96973f99-934c22de.so.0.0.0 +3 -0
  27. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/random.pyi +0 -0
  28. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/rec.pyi +171 -0
  29. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/scalars.pyi +191 -0
  30. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/shape.pyi +13 -0
  31. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/shape_base.pyi +52 -0
  32. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/stride_tricks.pyi +27 -0
  33. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/strings.pyi +196 -0
  34. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/testing.pyi +198 -0
  35. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi +225 -0
  36. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/type_check.pyi +67 -0
  37. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/ufunc_config.pyi +29 -0
  38. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/ufunclike.pyi +31 -0
  39. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi +142 -0
  40. .venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi +11 -0
  41. .venv/lib/python3.12/site-packages/numpy/typing/tests/test_isfile.py +38 -0
  42. .venv/lib/python3.12/site-packages/numpy/typing/tests/test_runtime.py +110 -0
  43. .venv/lib/python3.12/site-packages/numpy/typing/tests/test_typing.py +205 -0
  44. .venv/lib/python3.12/site-packages/numpy/version.py +11 -0
  45. .venv/lib/python3.12/site-packages/numpy/version.pyi +9 -0
  46. .venv/lib/python3.12/site-packages/nvidia/__init__.py +0 -0
  47. .venv/lib/python3.12/site-packages/nvidia/cublas/__init__.py +0 -0
  48. .venv/lib/python3.12/site-packages/nvidia/cublas/include/__init__.py +0 -0
  49. .venv/lib/python3.12/site-packages/nvidia/cublas/include/cublas.h +891 -0
  50. .venv/lib/python3.12/site-packages/nvidia/cublas/include/cublasLt.h +0 -0
.gitattributes CHANGED
@@ -63,3 +63,5 @@ data/final_filtered_data.csv filter=lfs diff=lfs merge=lfs -text
63
  .venv/lib/python3.12/site-packages/mlflow/server/js/build/static/js/main.3d04602b.js.map filter=lfs diff=lfs merge=lfs -text
64
  .venv/lib/python3.12/site-packages/mlflow/server/js/build/static/media/fontawesome-webfont.1e59d2330b4c6deb84b3.ttf filter=lfs diff=lfs merge=lfs -text
65
  .venv/lib/python3.12/site-packages/mlflow/server/js/build/static/media/fontawesome-webfont.8b43027f47b20503057d.eot filter=lfs diff=lfs merge=lfs -text
 
 
 
63
  .venv/lib/python3.12/site-packages/mlflow/server/js/build/static/js/main.3d04602b.js.map filter=lfs diff=lfs merge=lfs -text
64
  .venv/lib/python3.12/site-packages/mlflow/server/js/build/static/media/fontawesome-webfont.1e59d2330b4c6deb84b3.ttf filter=lfs diff=lfs merge=lfs -text
65
  .venv/lib/python3.12/site-packages/mlflow/server/js/build/static/media/fontawesome-webfont.8b43027f47b20503057d.eot filter=lfs diff=lfs merge=lfs -text
66
+ .venv/lib/python3.12/site-packages/numpy.libs/libgfortran-040039e1-0352e75f.so.5.0.0 filter=lfs diff=lfs merge=lfs -text
67
+ .venv/lib/python3.12/site-packages/numpy.libs/libquadmath-96973f99-934c22de.so.0.0.0 filter=lfs diff=lfs merge=lfs -text
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ uv
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/METADATA ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.4
2
+ Name: numpy
3
+ Version: 2.4.3
4
+ Summary: Fundamental package for array computing in Python
5
+ Author: Travis E. Oliphant et al.
6
+ Maintainer-Email: NumPy Developers <numpy-discussion@python.org>
7
+ License-Expression: BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0
8
+ License-File: LICENSE.txt
9
+ License-File: numpy/_core/include/numpy/libdivide/LICENSE.txt
10
+ License-File: numpy/_core/src/common/pythoncapi-compat/COPYING
11
+ License-File: numpy/_core/src/highway/LICENSE
12
+ License-File: numpy/_core/src/multiarray/dragon4_LICENSE.txt
13
+ License-File: numpy/_core/src/npysort/x86-simd-sort/LICENSE.md
14
+ License-File: numpy/_core/src/umath/svml/LICENSE
15
+ License-File: numpy/fft/pocketfft/LICENSE.md
16
+ License-File: numpy/linalg/lapack_lite/LICENSE.txt
17
+ License-File: numpy/ma/LICENSE
18
+ License-File: numpy/random/LICENSE.md
19
+ License-File: numpy/random/src/distributions/LICENSE.md
20
+ License-File: numpy/random/src/mt19937/LICENSE.md
21
+ License-File: numpy/random/src/pcg64/LICENSE.md
22
+ License-File: numpy/random/src/philox/LICENSE.md
23
+ License-File: numpy/random/src/sfc64/LICENSE.md
24
+ License-File: numpy/random/src/splitmix64/LICENSE.md
25
+ Classifier: Development Status :: 5 - Production/Stable
26
+ Classifier: Intended Audience :: Science/Research
27
+ Classifier: Intended Audience :: Developers
28
+ Classifier: Programming Language :: C
29
+ Classifier: Programming Language :: Python
30
+ Classifier: Programming Language :: Python :: 3
31
+ Classifier: Programming Language :: Python :: 3.11
32
+ Classifier: Programming Language :: Python :: 3.12
33
+ Classifier: Programming Language :: Python :: 3.13
34
+ Classifier: Programming Language :: Python :: 3.14
35
+ Classifier: Programming Language :: Python :: 3 :: Only
36
+ Classifier: Programming Language :: Python :: Implementation :: CPython
37
+ Classifier: Topic :: Software Development
38
+ Classifier: Topic :: Scientific/Engineering
39
+ Classifier: Typing :: Typed
40
+ Classifier: Operating System :: Microsoft :: Windows
41
+ Classifier: Operating System :: POSIX
42
+ Classifier: Operating System :: Unix
43
+ Classifier: Operating System :: MacOS
44
+ Project-URL: homepage, https://numpy.org
45
+ Project-URL: documentation, https://numpy.org/doc/
46
+ Project-URL: source, https://github.com/numpy/numpy
47
+ Project-URL: download, https://pypi.org/project/numpy/#files
48
+ Project-URL: tracker, https://github.com/numpy/numpy/issues
49
+ Project-URL: release notes, https://numpy.org/doc/stable/release
50
+ Requires-Python: >=3.11
51
+ Description-Content-Type: text/markdown
52
+
53
+ <h1 align="center">
54
+ <img src="https://raw.githubusercontent.com/numpy/numpy/main/branding/logo/primary/numpylogo.svg" width="300">
55
+ </h1><br>
56
+
57
+
58
+ [![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](
59
+ https://numfocus.org)
60
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/numpy.svg?label=PyPI%20downloads)](
61
+ https://pypi.org/project/numpy/)
62
+ [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/numpy.svg?label=Conda%20downloads)](
63
+ https://anaconda.org/conda-forge/numpy)
64
+ [![Stack Overflow](https://img.shields.io/badge/stackoverflow-Ask%20questions-blue.svg)](
65
+ https://stackoverflow.com/questions/tagged/numpy)
66
+ [![Nature Paper](https://img.shields.io/badge/DOI-10.1038%2Fs41586--020--2649--2-blue)](
67
+ https://doi.org/10.1038/s41586-020-2649-2)
68
+ [![LFX Health Score](https://insights.linuxfoundation.org/api/badge/health-score?project=numpy)](https://insights.linuxfoundation.org/project/numpy)
69
+ [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/numpy/numpy/badge)](https://securityscorecards.dev/viewer/?uri=github.com/numpy/numpy)
70
+ [![Typing](https://img.shields.io/pypi/types/numpy)](https://pypi.org/project/numpy/)
71
+
72
+
73
+ NumPy is the fundamental package for scientific computing with Python.
74
+
75
+ - **Website:** https://numpy.org
76
+ - **Documentation:** https://numpy.org/doc
77
+ - **Mailing list:** https://mail.python.org/mailman/listinfo/numpy-discussion
78
+ - **Source code:** https://github.com/numpy/numpy
79
+ - **Contributing:** https://numpy.org/devdocs/dev/index.html
80
+ - **Bug reports:** https://github.com/numpy/numpy/issues
81
+ - **Report a security vulnerability:** https://tidelift.com/docs/security
82
+
83
+ It provides:
84
+
85
+ - a powerful N-dimensional array object
86
+ - sophisticated (broadcasting) functions
87
+ - tools for integrating C/C++ and Fortran code
88
+ - useful linear algebra, Fourier transform, and random number capabilities
89
+
90
+ Testing:
91
+
92
+ NumPy requires `pytest` and `hypothesis`. Tests can then be run after installation with:
93
+
94
+ python -c "import numpy, sys; sys.exit(numpy.test() is False)"
95
+
96
+ Code of Conduct
97
+ ----------------------
98
+
99
+ NumPy is a community-driven open source project developed by a diverse group of
100
+ [contributors](https://numpy.org/teams/). The NumPy leadership has made a strong
101
+ commitment to creating an open, inclusive, and positive community. Please read the
102
+ [NumPy Code of Conduct](https://numpy.org/code-of-conduct/) for guidance on how to interact
103
+ with others in a way that makes our community thrive.
104
+
105
+ Call for Contributions
106
+ ----------------------
107
+
108
+ The NumPy project welcomes your expertise and enthusiasm!
109
+
110
+ Small improvements or fixes are always appreciated. If you are considering larger contributions
111
+ to the source code, please contact us through the [mailing
112
+ list](https://mail.python.org/mailman/listinfo/numpy-discussion) first.
113
+
114
+ Writing code isn’t the only way to contribute to NumPy. You can also:
115
+ - review pull requests
116
+ - help us stay on top of new and old issues
117
+ - develop tutorials, presentations, and other educational materials
118
+ - maintain and improve [our website](https://github.com/numpy/numpy.org)
119
+ - develop graphic design for our brand assets and promotional materials
120
+ - translate website content
121
+ - help with outreach and onboard new contributors
122
+ - write grant proposals and help with other fundraising efforts
123
+
124
+ For more information about the ways you can contribute to NumPy, visit [our website](https://numpy.org/contribute/).
125
+ If you’re unsure where to start or how your skills fit in, reach out! You can
126
+ ask on the mailing list or here, on GitHub, by opening a new issue or leaving a
127
+ comment on a relevant issue that is already open.
128
+
129
+ Our preferred channels of communication are all public, but if you’d like to
130
+ speak to us in private first, contact our community coordinators at
131
+ numpy-team@googlegroups.com or on Slack (write numpy-team@googlegroups.com for
132
+ an invitation).
133
+
134
+ We also have a biweekly community call, details of which are announced on the
135
+ mailing list. You are very welcome to join.
136
+
137
+ If you are new to contributing to open source, [this
138
+ guide](https://opensource.guide/how-to-contribute/) helps explain why, what,
139
+ and how to successfully get involved.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/RECORD ADDED
@@ -0,0 +1,917 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ../../../bin/f2py,sha256=bWcDSReyyT7ZK-SUD6KDcCzCcrF4o6WIHQ_D6bZi98Y,385
2
+ ../../../bin/numpy-config,sha256=MKGfA0Feg97WPEUqgMy_fJGFHKGCyr9a_iQ3wxyftck,385
3
+ numpy-2.4.3.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
4
+ numpy-2.4.3.dist-info/METADATA,sha256=Yhv4ddV-7oZz85NE6pjdw3DpROnIw2s4tDDikPK2gs8,6608
5
+ numpy-2.4.3.dist-info/RECORD,,
6
+ numpy-2.4.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ numpy-2.4.3.dist-info/WHEEL,sha256=rJCplGeGFjRoUvxJWhVONRgyGYGZoOkhyej0s3KyjoI,138
8
+ numpy-2.4.3.dist-info/entry_points.txt,sha256=7Cb63gyL2sIRpsHdADpl6xaIW5JTlUI-k_yqEVr0BSw,220
9
+ numpy-2.4.3.dist-info/licenses/LICENSE.txt,sha256=SGAIPKoN4qwyksqYvQdL2PRdizJiTjex5wokC_9h5Ig,46794
10
+ numpy-2.4.3.dist-info/licenses/numpy/_core/include/numpy/libdivide/LICENSE.txt,sha256=-8U59H0M-DvGE3gID7hz1cFGMBJsrL_nVANcOSbapew,1018
11
+ numpy-2.4.3.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/COPYING,sha256=Pywf-nY4OlWuCqwByXN81wBQ3_Y-HwJmlPvp1mJXPJg,690
12
+ numpy-2.4.3.dist-info/licenses/numpy/_core/src/highway/LICENSE,sha256=40AnDU9kOEVpqR1UastbCU1pzkfwwBXbd6u3Tcb4Fa8,20785
13
+ numpy-2.4.3.dist-info/licenses/numpy/_core/src/multiarray/dragon4_LICENSE.txt,sha256=97FDCeX1TlAismRI7v1BmYitoq7AHTwRYthKDqjyHyw,1414
14
+ numpy-2.4.3.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/LICENSE.md,sha256=IR59c31heaCPeR67CpmJfOfNJFdBDFQodtElV27f6RA,1514
15
+ numpy-2.4.3.dist-info/licenses/numpy/_core/src/umath/svml/LICENSE,sha256=wXARRntP5uIPv77aTfCeWMK8pUgKBj5Vc1pAAKN5qtk,1543
16
+ numpy-2.4.3.dist-info/licenses/numpy/fft/pocketfft/LICENSE.md,sha256=qFyhP9-QFgtkoGmCFYaME7dNg1rQpOK6RHE7jFBYoFY,1498
17
+ numpy-2.4.3.dist-info/licenses/numpy/linalg/lapack_lite/LICENSE.txt,sha256=oUzCXhDUCjqnBbfeL7dkplNdjumy204XJJAFhUV9_VU,2266
18
+ numpy-2.4.3.dist-info/licenses/numpy/ma/LICENSE,sha256=BfO4g1GYjs-tEKvpLAxQ5YdcZFLVAJoAhMwpFVH_zKY,1593
19
+ numpy-2.4.3.dist-info/licenses/numpy/random/LICENSE.md,sha256=EDFmtiuARDr7nrNIjgUuoGvgz_VmuQjxmeVh_eSa8Z8,3511
20
+ numpy-2.4.3.dist-info/licenses/numpy/random/src/distributions/LICENSE.md,sha256=Rpd4vo8z1U4byqsowoHMRykW0tJz-DXlW8SH0wUD-s4,2745
21
+ numpy-2.4.3.dist-info/licenses/numpy/random/src/mt19937/LICENSE.md,sha256=DhETN7JUlKdzEGaV8OeZ9kK4VnqqzKTxFqdKgXcXkVY,2926
22
+ numpy-2.4.3.dist-info/licenses/numpy/random/src/pcg64/LICENSE.md,sha256=59T0-yA1jzFCEKiSrhc1HgSZOBNkb2l-w4c4XKKjaRg,1154
23
+ numpy-2.4.3.dist-info/licenses/numpy/random/src/philox/LICENSE.md,sha256=b1gopXIj1Mx_jqUFomI-e5eLJCdSwVFeNV9GuizsGAA,1509
24
+ numpy-2.4.3.dist-info/licenses/numpy/random/src/sfc64/LICENSE.md,sha256=nUCYhGAYMZzWjiKO5iIDYXh_c7zL8AI3qF5PyWIbmY8,1226
25
+ numpy-2.4.3.dist-info/licenses/numpy/random/src/splitmix64/LICENSE.md,sha256=JosMoGdZ0x6jymjdNfIOh3kW6Sexwqg15FkqPENUsfk,332
26
+ numpy.libs/libgfortran-040039e1-0352e75f.so.5.0.0,sha256=xgkASOzMdjUiwS7wFvgdprYnyzoET1XPBHmoOcQcCYA,2833617
27
+ numpy.libs/libquadmath-96973f99-934c22de.so.0.0.0,sha256=btUTf0Enga14Y0OftUNhP2ILQ8MrYykqACkkYWL1u8Y,250985
28
+ numpy.libs/libscipy_openblas64_-ff84a88b.so,sha256=beaZBUgWWTxjVEdCketeX6T5K8oE_UiEvdDORJavBKM,25368113
29
+ numpy/__config__.py,sha256=XxsmqIMntgHIw98FMq5d02BhJ_Iv8ccWBN7Q2E1LLnU,5297
30
+ numpy/__config__.pyi,sha256=MHeX15xqEBKQBQwoY0ZGFQx3TCL2doSpy4TO4tY3ZaU,2378
31
+ numpy/__init__.cython-30.pxd,sha256=xcAXAuirtX6vO92E8jU4ONMlPMF2Js8L6XeN9OQXzbY,47154
32
+ numpy/__init__.pxd,sha256=lgKlO-XL_ZrzOGCbsR8FfhJ7icHSsCiZTfiYNNNAyDw,43789
33
+ numpy/__init__.py,sha256=Lo2j5DheecSIWz9zJKi5V-bwFzKyOemeJmoSxioAi40,25946
34
+ numpy/__init__.pyi,sha256=1mV8G2brBIHBcz5tFobIuzFNl198jQuYe7jMLMnxmhM,236374
35
+ numpy/_array_api_info.py,sha256=zm7HiQYqyhSqFl3JWG7OLhEw-JGEPq7-7-qWhXWqVZ8,10385
36
+ numpy/_array_api_info.pyi,sha256=brHCz5yh1l0Ob-avua4_aV34zpheL7PTz67ALT3V220,4862
37
+ numpy/_configtool.py,sha256=EFRJ3pazTxYhE9op-ocWyKTLZrrpFhfmmS_tWrq8Cxo,1007
38
+ numpy/_configtool.pyi,sha256=d4f22QGwpb1ZtDk-1Sn72ftvo4incC5E2JAikmjzfJI,24
39
+ numpy/_core/__init__.py,sha256=g3zorshpMJXS4cfDBtOF0XhaUL6XoAmTXGTK4E41VdI,6662
40
+ numpy/_core/__init__.pyi,sha256=nuu4w2VFWXntCYWJ-Y6Ly9dP3g33IoFgUOAd2rxvnew,9973
41
+ numpy/_core/_add_newdocs.py,sha256=HejMFCZB7FnRVR6gAAA7ZhwjRl23Ve-kvHrQ2Ui8iS8,215591
42
+ numpy/_core/_add_newdocs.pyi,sha256=Jzmdhc9vdXSnbrqHxmNJNcIjVEO4MxvHGAieZzYqA2Y,134
43
+ numpy/_core/_add_newdocs_scalars.py,sha256=228riJ-dz9fV32TvOkMPUys_2_wnnDuU-EUbF1ehbvs,12933
44
+ numpy/_core/_add_newdocs_scalars.pyi,sha256=o3SAAa6AK4qoBFB25o4MzKWgH7dFRcIY4fQlvQN9w70,549
45
+ numpy/_core/_asarray.py,sha256=9ap3kDLNUcjKSQOfrkVPzr0tZGR1E1dtCIT_YeaFJdI,3894
46
+ numpy/_core/_asarray.pyi,sha256=7lCzKwsVKH36-DkDHQX6Oyo5vu0n-M0zXVX4PpJIh-U,1147
47
+ numpy/_core/_dtype.py,sha256=cM6JnjoHLURWCHgN8VmQyjeiiDjcwhB5L_fPMOe1uuM,10547
48
+ numpy/_core/_dtype.pyi,sha256=YX1504kkprrNtkV0bs_A0L7nUuuQoAa0qCJkz6SaLpE,1832
49
+ numpy/_core/_dtype_ctypes.py,sha256=KPPlakDsPkuThSOr5qFwW0jJ9VnjbvW4EWhObCHYGIE,3726
50
+ numpy/_core/_dtype_ctypes.pyi,sha256=VwEZFViCPuHlCURv2jpJp9sbHh2hYUpzC_FRZNNGMMw,3682
51
+ numpy/_core/_exceptions.py,sha256=X8Eg1hq1uU8L9wiOwFo2jRq6S0vnjCdgYFHj3hAW9Co,5159
52
+ numpy/_core/_exceptions.pyi,sha256=sLeE1hMSWVdg-DOfJ9an6obUJJav0DFfZolxKETGxLc,1850
53
+ numpy/_core/_internal.py,sha256=wVtCaspzD8zVJhE57hqCWrrymNIdJSKqfzczjNRFmO4,29437
54
+ numpy/_core/_internal.pyi,sha256=4gQcrKgpMdnAnEZxiasbnsniUuc-fPu6SVlwV3snfZI,2151
55
+ numpy/_core/_methods.py,sha256=ck-s9-Y8W4_ML6wUvzGgLLBI2eKPUW2GUCulB3pCVHY,9393
56
+ numpy/_core/_methods.pyi,sha256=5HzEt2Z0-vxQfS1QJKDlTvNyLXcinNsja-xQiehMGbw,526
57
+ numpy/_core/_multiarray_tests.cpython-312-x86_64-linux-gnu.so,sha256=dLEG7T2xYKgfWq45X-2FR8X2frBJ82L5aeakNHXo5yU,146656
58
+ numpy/_core/_multiarray_umath.cpython-312-x86_64-linux-gnu.so,sha256=YRUhha86LBYn9KtmLWP9ylIF0fPKYaSkuLYQoKF7p4o,10461001
59
+ numpy/_core/_operand_flag_tests.cpython-312-x86_64-linux-gnu.so,sha256=NiGZ4p7tDcX9ABcbdu93yul-bIcmqe6PDCpfBsNLEtg,16800
60
+ numpy/_core/_rational_tests.cpython-312-x86_64-linux-gnu.so,sha256=AVvGEq-Uy2MfUoNIm_mOizGBrrKGoGAvQO0K8RbMOoY,59592
61
+ numpy/_core/_simd.cpython-312-x86_64-linux-gnu.so,sha256=UV5Fr97AusWuhbz3ATsJd6zIo0XPyGy3fzHCsmhj18I,1506096
62
+ numpy/_core/_simd.pyi,sha256=J29NKpPSBpvUutD64O146kA-8YLPL6UYx6_qkvhExT4,978
63
+ numpy/_core/_string_helpers.py,sha256=6Smgoi6oD2CunjwBSr9BZ20HkCnvW6nTPblTOU3pWng,2845
64
+ numpy/_core/_string_helpers.pyi,sha256=xLlLKJHutEYzyKnTG2k7clcWvVUTvD319SjnKmDXuac,358
65
+ numpy/_core/_struct_ufunc_tests.cpython-312-x86_64-linux-gnu.so,sha256=RjFZyqrg48HGGJN-lViTDwaB1qo6OvR8Wk2BNXVJgn8,16936
66
+ numpy/_core/_type_aliases.py,sha256=pNShTxC6avLB2RL7-POOtpFQRp53O-5UgOTxliz1gpY,3755
67
+ numpy/_core/_type_aliases.pyi,sha256=xLRVFW9XxAz1Y65s3nwtoi-SxxHwD3dZcNJP5K2TrdI,2220
68
+ numpy/_core/_ufunc_config.py,sha256=DpOLtjYAYZv-kCjo8oX53c2SW2LQIgaQ7EplCkisRaU,15611
69
+ numpy/_core/_ufunc_config.pyi,sha256=sercSug21NJyS_ji8RyxmKHA2E50Qm_zg56UxIOoyDc,1861
70
+ numpy/_core/_umath_tests.cpython-312-x86_64-linux-gnu.so,sha256=L42m2626aTwPSJg5NH1p60jKtr0OCZw3CJBeHk5Vvm0,50120
71
+ numpy/_core/_umath_tests.pyi,sha256=5DTLe6fUK_TTjh2unv4ZhBvSiwiP0zO7_NfFhpe0x_0,2297
72
+ numpy/_core/arrayprint.py,sha256=96fJqWt2RDb2dVYPLdo5kNDQQq6KqJjSuqQOf1kYIJs,65271
73
+ numpy/_core/arrayprint.pyi,sha256=ixFoqT9nagIfQHrlzcn7dMRsM1-N9g6QOwWhkArrn_g,4530
74
+ numpy/_core/cversions.py,sha256=H_iNIpx9-hY1cQNxqjT2d_5SXZhJbMo_caq4_q6LB7I,347
75
+ numpy/_core/defchararray.py,sha256=MLElwfmK576gz5-A-7SVWIZ97Olw1y5nX_fwxshNIvc,37817
76
+ numpy/_core/defchararray.pyi,sha256=pFsI98PHGEUYCOVX59--wkWwmt15Kx5Qzy-1HTWrYBY,28644
77
+ numpy/_core/einsumfunc.py,sha256=yQV-oZCxmJJ-JSg8vJ8GGwqqED1PMfJf5Sbha4gj9BM,57928
78
+ numpy/_core/einsumfunc.pyi,sha256=zJICB2I2KVzt_9yd3zAZS69x64vz2IpPKxPuRhf70yY,4925
79
+ numpy/_core/fromnumeric.py,sha256=YFXY4ZXPeqrkF9I72iA801AU49s9fCijLn63HoWOlF8,142658
80
+ numpy/_core/fromnumeric.pyi,sha256=bKqAndgiNih90sn3e7MOc2TxKYqDAaSsfa69KAy6d1o,44863
81
+ numpy/_core/function_base.py,sha256=uLj1CEEMVnsOpLRNsY4o6wnGLp7DNoD8796n3oLuucE,19677
82
+ numpy/_core/function_base.pyi,sha256=DDj2f4CZZ2ggrz7UjtSCn0ULNH5r_iengB9opDvM3SM,7045
83
+ numpy/_core/getlimits.py,sha256=RtMBWAjylYTmfqtIL1JUKgL7bwyVwsob04bcQrmp7XI,15003
84
+ numpy/_core/getlimits.pyi,sha256=Jyvd1P5Uy5t3oUUm3jKB3TcavNSsI-fK0jJSh0ycyQw,3797
85
+ numpy/_core/include/numpy/__multiarray_api.c,sha256=ndBF5wbdd7F8_zWvR52MDO0Qm15_PrCCBlSk4dky4F8,12698
86
+ numpy/_core/include/numpy/__multiarray_api.h,sha256=JguOheIpSWnm9uvlrfdZZJNOf0P3IXEqQc13wmxaeCE,61743
87
+ numpy/_core/include/numpy/__ufunc_api.c,sha256=sHgO2DxBH9cGsyhmCKCIjyV005Gwb2RwHySx_QdZEsY,1799
88
+ numpy/_core/include/numpy/__ufunc_api.h,sha256=XPRzJbUIA-ayVQJKOxeJORn-tYcamdj9Gkw2WQGRZPc,13405
89
+ numpy/_core/include/numpy/_neighborhood_iterator_imp.h,sha256=s-Hw_l5WRwKtYvsiIghF0bg-mA_CgWnzFFOYVFJ-q4k,1857
90
+ numpy/_core/include/numpy/_numpyconfig.h,sha256=fZXhz2pxhPUH1-x9LjYVGZdXxnyQNXJOUX3S3X0OuoU,926
91
+ numpy/_core/include/numpy/_public_dtype_api_table.h,sha256=n6_Kb98SyvsR_X7stiNA6VuGp_c5W1e4fMVcJdO0wis,4574
92
+ numpy/_core/include/numpy/arrayobject.h,sha256=mU5vpcQ95PH1j3bp8KYhJOFHB-GxwRjSUsR7nxlTSRk,204
93
+ numpy/_core/include/numpy/arrayscalars.h,sha256=3Zlfeg4ZdHp74ZvC2RtQs9AKRif9gGMAK1Ini0Jjqos,4324
94
+ numpy/_core/include/numpy/dtype_api.h,sha256=gEQsNYCHJdGUHgNBbXY3lIap2ULtyJTn5nQqygsOIIg,21455
95
+ numpy/_core/include/numpy/halffloat.h,sha256=TRZfXgipa-dFppX2uNgkrjrPli-1BfJtadWjAembJ4s,1959
96
+ numpy/_core/include/numpy/ndarrayobject.h,sha256=-d4aWZBflbqveDcDS1ja9C2rnqepKz7EJH8bzaMRg2o,12055
97
+ numpy/_core/include/numpy/ndarraytypes.h,sha256=DK0aMUVfVTkXaUjw8qzF16x2KF3pNLUCUIcftEZ7z80,66982
98
+ numpy/_core/include/numpy/npy_2_compat.h,sha256=wdjB7_-AtW3op67Xbj3EVH6apSF7cRG6h3c5hBz-YMs,8546
99
+ numpy/_core/include/numpy/npy_2_complexcompat.h,sha256=eE9dV_Iq3jEfGGJFH_pQjJnvC6eQ12WgOB7cZMmHByE,857
100
+ numpy/_core/include/numpy/npy_3kcompat.h,sha256=i2AvqUqrbBiyx-KaKnVTN42MGV7anjoYCFff1JTCkCk,9673
101
+ numpy/_core/include/numpy/npy_common.h,sha256=JInKD9xyAy_LJAjPzhE3KUueCfVulgHeTZMJ8CtbPEk,32884
102
+ numpy/_core/include/numpy/npy_cpu.h,sha256=2BUewE2At9mB_nX9gmst1yoFx4jJBWj5UqKwdIPNa3E,4352
103
+ numpy/_core/include/numpy/npy_endian.h,sha256=2X62aa1S9Iau_oD8a2KsDlQrDjtAboz_Tn32r1dtEp8,2878
104
+ numpy/_core/include/numpy/npy_math.h,sha256=aeSFs60QbWPy1gIPyHDPrYExifm5mbDAcjP_mLk_PF0,18858
105
+ numpy/_core/include/numpy/npy_no_deprecated_api.h,sha256=0yZrJcQEJ6MCHJInQk5TP9_qZ4t7EfBuoLOJ34IlJd4,678
106
+ numpy/_core/include/numpy/npy_os.h,sha256=hlQsg_7-RkvS3s8OM8KXy99xxyJbCm-W1AYVcdnO1cw,1256
107
+ numpy/_core/include/numpy/numpyconfig.h,sha256=FjxB-cwcS8wX2mMYY2gERxDgYvsVNaDm71gilMbMYIk,7466
108
+ numpy/_core/include/numpy/random/LICENSE.txt,sha256=-8U59H0M-DvGE3gID7hz1cFGMBJsrL_nVANcOSbapew,1018
109
+ numpy/_core/include/numpy/random/bitgen.h,sha256=49AwKOR552r-NkhuSOF1usb_URiMSRMvD22JF5pKIng,488
110
+ numpy/_core/include/numpy/random/distributions.h,sha256=W5tOyETd0m1W0GdaZ5dJP8fKlBtsTpG23V2Zlmrlqpg,9861
111
+ numpy/_core/include/numpy/random/libdivide.h,sha256=ew9MNhPQd1LsCZiWiFmj9IZ7yOnA3HKOXffDeR9X1jw,80138
112
+ numpy/_core/include/numpy/ufuncobject.h,sha256=BengvqXqiy4ipzz23KQi1Kldy9ybYUs4Sp5yA73VgiU,11780
113
+ numpy/_core/include/numpy/utils.h,sha256=wMNomSH3Dfj0q78PrjLVtFtN-FPo7UJ4o0ifCUO-6Es,1185
114
+ numpy/_core/lib/libnpymath.a,sha256=vFKoS-AeLl1MxVJvbtG3l83aRY4RNaI9RSdHt74wWZ4,52944
115
+ numpy/_core/lib/npy-pkg-config/mlib.ini,sha256=_LsWV1eStNqwhdiYPa2538GL46dnfVwT4MrI1zbsoFw,147
116
+ numpy/_core/lib/npy-pkg-config/npymath.ini,sha256=0iMzarBfkkZ_EXO95_kz-SHZRcNIEwIeOjE_esVBkRQ,361
117
+ numpy/_core/lib/pkgconfig/numpy.pc,sha256=GfF70XccfmOLFOccSH5MH_cWy1VMhOPd0fWXo45MQ8M,191
118
+ numpy/_core/memmap.py,sha256=yIsQ6n9kpZulggRJJFkTbjVwnB4leoyizvUpc2iU4n8,12651
119
+ numpy/_core/memmap.pyi,sha256=_LKjb_PuhcQwpqc2lFaL379DYzQ9PtuKdlVV3jXOYEM,47
120
+ numpy/_core/multiarray.py,sha256=rps15g0BUOKt4F1FwaMdv-7mJ9vmaLK3ob_C4_5T938,56786
121
+ numpy/_core/multiarray.pyi,sha256=fjQAngf9-ByMpOf-6kpdFMIvf5FyOnGpEFqeP7riMEo,34829
122
+ numpy/_core/numeric.py,sha256=115NMHLlm0d8rSDwiNlk9rQchA5zBNP3b-n2gy12Cp8,83038
123
+ numpy/_core/numeric.pyi,sha256=Xs1pUKG24UvNF7BticXnB1E85NANpnCobliOrOCuVcQ,31713
124
+ numpy/_core/numerictypes.py,sha256=15JLBX0m_MQgaiH_yBBI5glv0vXueU0arnS56RXfUxk,15967
125
+ numpy/_core/numerictypes.pyi,sha256=a-zziI4f3MkP2EqqUevdUT8eLCRSg9UlK-dVQ3WtVnE,3503
126
+ numpy/_core/overrides.py,sha256=K9wYrA52biO-Nm8GBdDzguqSctJQDouvA4IekTlfxVU,7480
127
+ numpy/_core/overrides.pyi,sha256=f9pKPr_GWw_lRslBLDOESV4kiPHL4LqSCuk_aKpzRpg,1730
128
+ numpy/_core/printoptions.py,sha256=NFpvy5bnjbvqnKeqQt0veEExpAAYAVNoiGXH3pglWAc,1056
129
+ numpy/_core/printoptions.pyi,sha256=eNiliCnDuZBxla6X9kwZ-7YiCn-UtMbT-U_qTnw8l9w,594
130
+ numpy/_core/records.py,sha256=_UAVj-g1gG-oMqRJRA4E9BT3IzG3M4JfxY3UjmJVMw0,36754
131
+ numpy/_core/records.pyi,sha256=cOJPgRt8poiNAysEe1FtX2vjrUyIWk07_Wz9g0XJJLI,9175
132
+ numpy/_core/shape_base.py,sha256=HW6Jff237fLXHo7XUlSm5xBrGpR1kviNka-W0a0sRp4,32712
133
+ numpy/_core/shape_base.pyi,sha256=mO3WWfwrRArIVRDoMhtEcYWh7tunmpDnhfqyowwRt44,5255
134
+ numpy/_core/strings.py,sha256=qcXg9CADXtDzpfUb2VMHwKePM4nXZPhNpGpVTjUJcGU,50578
135
+ numpy/_core/strings.pyi,sha256=fbGD5TK14K5ICmNHnQDpMLeuc4UEUMH52laTTgzmcP8,13591
136
+ numpy/_core/tests/_locales.py,sha256=lvHqUJVMsrE7Jh3N_KpO5fGBZgID-l3Zr4-_RrH1ZNM,2176
137
+ numpy/_core/tests/_natype.py,sha256=k6Dj2e9iH8mIB32OW9FI2FGxiE_FDC7mIaIi4ZgQ6Vc,4387
138
+ numpy/_core/tests/data/astype_copy.pkl,sha256=lWSzCcvzRB_wpuRGj92spGIw-rNPFcd9hwJaRVvfWdk,716
139
+ numpy/_core/tests/data/generate_umath_validation_data.cpp,sha256=BQakB5o8Mq60zex5ovVO0IatNa7xbF8JvXmtk6373So,5842
140
+ numpy/_core/tests/data/recarray_from_file.fits,sha256=NA0kliz31FlLnYxv3ppzeruONqNYkuEvts5wzXEeIc4,8640
141
+ numpy/_core/tests/data/umath-validation-set-README.txt,sha256=pxWwOaGGahaRd-AlAidDfocLyrAiDp0whf5hC7hYwqM,967
142
+ numpy/_core/tests/data/umath-validation-set-arccos.csv,sha256=yBlz8r6RnnAYhdlobzGGo2FKY-DoSTQaP26y8138a3I,61365
143
+ numpy/_core/tests/data/umath-validation-set-arccosh.csv,sha256=0GXe7XG1Z3jXAcK-OlEot_Df3MetDQSlbm3MJ__iMQk,61365
144
+ numpy/_core/tests/data/umath-validation-set-arcsin.csv,sha256=w_Sv2NDn-mLZSAqb56JT2g4bqBzxYAihedWxHuf82uU,61339
145
+ numpy/_core/tests/data/umath-validation-set-arcsinh.csv,sha256=DZrMYoZZZyM1DDyXNUxSlzx6bOgajnRSLWAzxcPck8k,60289
146
+ numpy/_core/tests/data/umath-validation-set-arctan.csv,sha256=0aosXZ-9DYTop0lj4bfcBNwYVvjZdW13hbMRTRRTmV0,60305
147
+ numpy/_core/tests/data/umath-validation-set-arctanh.csv,sha256=HEK9ePx1OkKrXIKkMUV0IxrmsDqIlgKddiI-LvF2J20,61339
148
+ numpy/_core/tests/data/umath-validation-set-cbrt.csv,sha256=v855MTZih-fZp_GuEDst2qaIsxU4a7vlAbeIJy2xKpc,60846
149
+ numpy/_core/tests/data/umath-validation-set-cos.csv,sha256=0PNnDqKkokZ7ERVDgbes8KNZc-ISJrZUlVZc5LkW18E,59122
150
+ numpy/_core/tests/data/umath-validation-set-cosh.csv,sha256=JKC4nKr3wTzA_XNSiQvVUq9zkYy4djvtu2-j4ZZ_7Oc,60869
151
+ numpy/_core/tests/data/umath-validation-set-exp.csv,sha256=rUAWIbvyeKh9rPfp2n0Zq7AKq_nvHpgbgzLjAllhsek,17491
152
+ numpy/_core/tests/data/umath-validation-set-exp2.csv,sha256=djosT-3fTpiN_f_2WOumgMuuKgC_XhpVO-QsUFwI6uU,58624
153
+ numpy/_core/tests/data/umath-validation-set-expm1.csv,sha256=K7jL6N4KQGX71fj5hvYkzcMXk7MmQes8FwrNfyrPpgU,60299
154
+ numpy/_core/tests/data/umath-validation-set-log.csv,sha256=ynzbVbKxFzxWFwxHnxX7Fpm-va09oI3oK1_lTe19g4w,11692
155
+ numpy/_core/tests/data/umath-validation-set-log10.csv,sha256=NOBD-rOWI_FPG4Vmbzu3JtX9UA838f2AaDFA-waiqGA,68922
156
+ numpy/_core/tests/data/umath-validation-set-log1p.csv,sha256=tdbYWPqWIz8BEbIyklynh_tpQJzo970Edd4ek6DsPb8,60303
157
+ numpy/_core/tests/data/umath-validation-set-log2.csv,sha256=39EUD0vFMbwyoXoOhgCmid6NeEAQU7Ff7QFjPsVObIE,68917
158
+ numpy/_core/tests/data/umath-validation-set-sin.csv,sha256=8PUjnQ_YfmxFb42XJrvpvmkeSpEOlEXSmNvIK4VgfAM,58611
159
+ numpy/_core/tests/data/umath-validation-set-sinh.csv,sha256=XOsBUuPcMjiO_pevMalpmd0iRv2gmnh9u7bV9ZLLg8I,60293
160
+ numpy/_core/tests/data/umath-validation-set-tan.csv,sha256=Hv2WUMIscfvQJ5Y5BipuHk4oE4VY6QKbQp_kNRdCqYQ,60299
161
+ numpy/_core/tests/data/umath-validation-set-tanh.csv,sha256=iolZF_MOyWRgYSa-SsD4df5mnyFK18zrICI740SWoTc,60299
162
+ numpy/_core/tests/examples/cython/checks.pyx,sha256=oI4Z5Scxn0h8VdNuifKkXSGFUEcxZdFOINAcuU3mmi8,10808
163
+ numpy/_core/tests/examples/cython/meson.build,sha256=uuXVPKemNVMQ5MiEDqS4BXhwGHa96JHjS50WxZuJS_8,1268
164
+ numpy/_core/tests/examples/cython/setup.py,sha256=JM6UnDql7LsAnRo6p9G-nRz3dfnoy9fHF6YVKy1OzdA,859
165
+ numpy/_core/tests/examples/limited_api/limited_api1.c,sha256=wV_djP7TCJlNuRWzxMUtUyc1CqGGVopuGPqR9HUKak0,311
166
+ numpy/_core/tests/examples/limited_api/limited_api2.pyx,sha256=1q4I59pdkCmMhLcYngN_XwQnPoLmDEo1uTGnhrLRjDc,203
167
+ numpy/_core/tests/examples/limited_api/limited_api_latest.c,sha256=gID7NGwQU3EhRVZ3RMQCQBnFBTpz3_RqjmbHd3BUS-I,452
168
+ numpy/_core/tests/examples/limited_api/meson.build,sha256=26_UaIf7zsWg8U9PicvwficlE0VRrrj6FRl-j1p2CJA,1662
169
+ numpy/_core/tests/examples/limited_api/setup.py,sha256=Y6tgsOF58qe7eG2QmRQHG2wacZWfpbJLT8u-5OamjqA,437
170
+ numpy/_core/tests/test__exceptions.py,sha256=luMT6vPIdf6LuwFNGyT-xLMZaKZEYYOFzFpMaesojoE,2922
171
+ numpy/_core/tests/test_abc.py,sha256=9y2SsJdkPeV0oW6dsROPZOcQ72_mXie1uU2yPN93wzo,2221
172
+ numpy/_core/tests/test_api.py,sha256=sCH4by-46BXTFOGjRDrVsUjNAr0Lh81Oo7sDNbrGtF0,24260
173
+ numpy/_core/tests/test_argparse.py,sha256=DRLQD5TxhudrQZ79hm5ds3eKsXh_Ub7QsvEYzsdDSX0,2824
174
+ numpy/_core/tests/test_array_api_info.py,sha256=PZ2EzS9pq4nLZRAvvUSOb2Ke5p7pb4u4P4HKLRZjstw,3063
175
+ numpy/_core/tests/test_array_coercion.py,sha256=lrcMxUVuG6slxTU7fkIw0y_B0MFjSIiBoImLDrOyNfc,35391
176
+ numpy/_core/tests/test_array_interface.py,sha256=l39VuV4nCdIeV1RUvMtjjPohAgIvJP-V3GQ5MaPrVK8,7843
177
+ numpy/_core/tests/test_arraymethod.py,sha256=g5nnGdbFDJlo3O3kXQXtQsGLIowL-WlLXQDEPFIx_ng,3223
178
+ numpy/_core/tests/test_arrayobject.py,sha256=-L2gaiTNYF_rp0YBPpbH9FbUV9RgkQYl_LD_WZCFDJ4,3336
179
+ numpy/_core/tests/test_arrayprint.py,sha256=t-nVDpGTZXakWQKiMwc5TojPZbGlvXd7FT7kHV4X3a8,50574
180
+ numpy/_core/tests/test_casting_floatingpoint_errors.py,sha256=cER1YCNEwq67uAPX0QhkJonb5oA4Ws1_t0Z2AWJjYJg,5076
181
+ numpy/_core/tests/test_casting_unittests.py,sha256=onHTfAkrnowvuL3Hq1Z9Q3bjWMA2ze6sksihspQniUM,40944
182
+ numpy/_core/tests/test_conversion_utils.py,sha256=4ttCX7dnA_8pTME87obUjy8KDkw3qLwSZhrVpLQA25o,6506
183
+ numpy/_core/tests/test_cpu_dispatcher.py,sha256=MjpYITDEZke0pjeB1gBVuS82PueSO-BCp0c_5bVTeFM,1571
184
+ numpy/_core/tests/test_cpu_features.py,sha256=NqkrPSJfdkoMS6XQRvhB0Uny4gArtGiuJutqJUOrvw8,15802
185
+ numpy/_core/tests/test_custom_dtypes.py,sha256=aKtJ4gg2aFK-1yjv21NHZcqAinRrwYZYTH-0fFdYjBc,14496
186
+ numpy/_core/tests/test_cython.py,sha256=2yvCgm6ndk-AwZ4T5pP8IcPPSGJqfXMizTizEKuHgx8,10218
187
+ numpy/_core/tests/test_datetime.py,sha256=PSdTEjK9A3AW7d5XpNX8dwiurA0rI0kQ9Jplxb2K7pI,124963
188
+ numpy/_core/tests/test_defchararray.py,sha256=XV8IWNpIZmLPDjHyEb-ykncYhoPlNT7UMm6IY-GU4Fw,30683
189
+ numpy/_core/tests/test_deprecations.py,sha256=paQE5aF1lnXiFnioQYUaI3m_E5PTff-oh9Zepv4YTFk,17480
190
+ numpy/_core/tests/test_dlpack.py,sha256=4pKf7PywFZnK5508Gtu29qpa4VqTOosuxNjTuhRBjiQ,5831
191
+ numpy/_core/tests/test_dtype.py,sha256=NGaHaL5dtwTvnNB0SmdNYO3dh_yBzJyd2lmXWej63lo,83222
192
+ numpy/_core/tests/test_einsum.py,sha256=Dm736ruI5M5yTj4ri28DmnARIQa0iQj4q-D1b7zC39E,57893
193
+ numpy/_core/tests/test_errstate.py,sha256=4ehvlnhiQ6ze1jv1Fj7SvXx44OQKydIVs7NtNnjKZHs,4628
194
+ numpy/_core/tests/test_extint128.py,sha256=ooHOXvYUg5K2JRuUv9ae7mWl3qoDXFYs9Igb-ay54LA,5625
195
+ numpy/_core/tests/test_finfo.py,sha256=OXPFEij-iMxjNRU57k82ao_j9i-EipfktFJtL28Uwr8,2488
196
+ numpy/_core/tests/test_function_base.py,sha256=Oy3-ebeiUNHo5B4429zAT1UXZUsk93w4CeBy-yQleZQ,17683
197
+ numpy/_core/tests/test_getlimits.py,sha256=HAvD2--XmGc-uZvh-DYvKXnQS8bZNUkG1UZsgmC0hjg,5453
198
+ numpy/_core/tests/test_half.py,sha256=IVDl-MhjAMSEA6774o6iBC4Lg5ayMpqMpYpr9swmUms,25260
199
+ numpy/_core/tests/test_hashtable.py,sha256=to2yWgEWJB3Pm1iJxtvyoRawlfCu3y5BmFqjnpVrVJ0,1148
200
+ numpy/_core/tests/test_indexerrors.py,sha256=0BnHBaa02_H-jHIX2w_Ntjguzhnbg8OIgbz2CY1ZhM0,4713
201
+ numpy/_core/tests/test_indexing.py,sha256=IOYLF2_dhfB-eLk3XxkUJ10Yh9DzDyCEOfs832g2Cyo,64623
202
+ numpy/_core/tests/test_item_selection.py,sha256=AoPUe3llYwKjv3dO1PW1qSml4SWrAAL3fNqpwKAku6w,6631
203
+ numpy/_core/tests/test_limited_api.py,sha256=75nz_t-jBdjKim6j-WW7WsD2rPnJ_KQ-zrRUiP3nVic,3463
204
+ numpy/_core/tests/test_longdouble.py,sha256=ATFf89U4UCz2P-wSM-b-uNBPR1uv291znutcSHxcLEE,12454
205
+ numpy/_core/tests/test_mem_overlap.py,sha256=A40WNYsvnGbPwyrZoJE2qIqRrGetQXbyHf0OmCOAwRE,29317
206
+ numpy/_core/tests/test_mem_policy.py,sha256=Sa7JKNKFUtWBzmdy7JyGQa7CIsuAddpqgN8r4ZSCSNc,16848
207
+ numpy/_core/tests/test_memmap.py,sha256=XcLLKt_47bDYpxB9bq8JFr1xRdX1_mVcsFHFiyXJaF0,8298
208
+ numpy/_core/tests/test_multiarray.py,sha256=eXXN-QoPVMceMggA9L1Dm77gaRleeKg5llsoho2lbZs,420032
209
+ numpy/_core/tests/test_multiprocessing.py,sha256=FsCKePMmjpFD0ZfoI9e4H-HiUkg3N7kuYDzyjjmE6q0,2034
210
+ numpy/_core/tests/test_multithreading.py,sha256=dLKFEAiP-VS79A3gN_2vz1BqFt9pT722Dblcdt1voBc,12092
211
+ numpy/_core/tests/test_nditer.py,sha256=qWaTm-_jk3xNqgaKVf2lL7S6tyjoIjmXXBGNpFuCvwc,137839
212
+ numpy/_core/tests/test_nep50_promotions.py,sha256=i6KpABBWFB5PWCdEv8kIjNQd7ryAPINS5m_Tnu7sDj4,10068
213
+ numpy/_core/tests/test_numeric.py,sha256=drTvM8NlNPNncPUSYHpW4rFs8Xx86gjIgpwrta9Qmkg,160604
214
+ numpy/_core/tests/test_numerictypes.py,sha256=V7-XPC_Bpzc7u7Wg0ueCvlEcP2rGqYfGjbKrxcjMlY8,24174
215
+ numpy/_core/tests/test_overrides.py,sha256=E5Hbzgj9iRuZ2NyQlOwzrJfFdNv7JSAkSf6ewekOoJk,27777
216
+ numpy/_core/tests/test_print.py,sha256=9LSxaId6b7TvnUZpf1A--ffwTUcwV2h9vUFeyydfUnA,6915
217
+ numpy/_core/tests/test_protocols.py,sha256=pbfumoRNnPhDP6PAPNIgLHUPPlmCdamCo4akkO8afjo,1173
218
+ numpy/_core/tests/test_records.py,sha256=mGUVU_SMInz2vyJYTprn3fqo21fk-P1KkpXZijdJUTA,20612
219
+ numpy/_core/tests/test_regression.py,sha256=UPJslIL4l64Kp1GTT0mMnMVpLeaLSuFZovwqGu6DJjo,96172
220
+ numpy/_core/tests/test_scalar_ctors.py,sha256=jQYVEp3nOCYQ0_8yzFzQ7eQ6_RUNzrTVEebfLWEOrn4,6693
221
+ numpy/_core/tests/test_scalar_methods.py,sha256=mm9vlzUseFrXxbMCjScJs--0X2hJogK8HVOQ-ooolqw,12511
222
+ numpy/_core/tests/test_scalarbuffer.py,sha256=WUic9qTL2WYmI-FDp7AOjiFRxRnynveeLkKsUFdT3tc,5634
223
+ numpy/_core/tests/test_scalarinherit.py,sha256=OIvSjrltdNSSP2c5HvDQ6pza3aKfmfgtixu1Zbahpcg,2587
224
+ numpy/_core/tests/test_scalarmath.py,sha256=jOMC2XAR5o8DjhZsbLCFx2PRF50ron6EtEJwr6cHtwA,46217
225
+ numpy/_core/tests/test_scalarprint.py,sha256=NS-FQDWICDcuDF5gxTQuG1Td1-EiOXIXufI-dwvKwxU,19705
226
+ numpy/_core/tests/test_shape_base.py,sha256=_p0pDN96bA_urgl9_v-lTYqUNRFPcFCq8tvyRcShO8o,31867
227
+ numpy/_core/tests/test_simd.py,sha256=g852NMNx_pmn_lGw0uQbXI2uKvMp_-yiQuwBUE1VNeg,48894
228
+ numpy/_core/tests/test_simd_module.py,sha256=FFFeCwkMc7jfaByB4MGHaIfIhpnBxfPSIZW69xMZf8o,3950
229
+ numpy/_core/tests/test_stringdtype.py,sha256=ivJ0BcGW4jZxuSW4KsGE8_pmCxG9PChVk_gdNBO78_U,58503
230
+ numpy/_core/tests/test_strings.py,sha256=mhRaeJu7MkvBddcIAcjIvyueLXqBZRMbCpA3g8nvZKQ,60156
231
+ numpy/_core/tests/test_ufunc.py,sha256=ulYd9UhTuC3DzSN2BmTCvggm_y0XGVRgQmilNoul7Fk,139713
232
+ numpy/_core/tests/test_umath.py,sha256=ic0EGSgN4pOOuWPko6VGu-qUdPGVkt1gKR_3GNM5Bqc,195849
233
+ numpy/_core/tests/test_umath_accuracy.py,sha256=fw0HPqs-sxDzzk8JdltgB-gsDRvADcQqWQrHAsK78F4,5821
234
+ numpy/_core/tests/test_umath_complex.py,sha256=5oklimUgY9JcL47neqFzC3x3JiaIwY5LhFlmt3JfcTU,23611
235
+ numpy/_core/tests/test_unicode.py,sha256=gCsIIbjb1wLX3ZXJzUxuK5QOGAsAeDeWjKx4jwSq2Ag,12987
236
+ numpy/_core/umath.py,sha256=RQpCVgqDiiJg6F8jyDmLfQnnqNjdQXA3bg2SBGMGDAs,2140
237
+ numpy/_core/umath.pyi,sha256=e4B_bHH6DEGR83DTQ07Z2sNA8MFJWSRL2HebwIj4CA0,3716
238
+ numpy/_distributor_init.py,sha256=FBSJdgVHlQca5BrQEVYPoFm6KSTJhIFnWtWbEkEhTSo,421
239
+ numpy/_distributor_init.pyi,sha256=6IvMzAmr0-Z6oqTkZcgXgrkJrQXVMjBih2AZvLdDgOE,27
240
+ numpy/_expired_attrs_2_0.py,sha256=c1tGN6Y2RBsDJOlJjc_xJyMeo6HTIdk5x1BIxt-rJoQ,3771
241
+ numpy/_expired_attrs_2_0.pyi,sha256=Ek1E0DfCcPP-KP-Lm0CKZPazkwdQP_xWrUnSkcMIojM,1239
242
+ numpy/_globals.py,sha256=03sesd99euVf3CvZ11djE0S-C6z-VthFYGK2CyPjcis,4155
243
+ numpy/_globals.pyi,sha256=IrHHIXmibXzgK0VUlECQLw4IEkveXSHo_ZWnTkfnLe4,280
244
+ numpy/_pyinstaller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
+ numpy/_pyinstaller/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
+ numpy/_pyinstaller/hook-numpy.py,sha256=MU22pQ4AkUYPQWu5C8pRDpnYXElLJ8R0FGNYJUQpiVE,1362
247
+ numpy/_pyinstaller/hook-numpy.pyi,sha256=zfV785Nw3qAikKtVir5L3VwbbLfz8OwSakuN5LLrBB8,150
248
+ numpy/_pyinstaller/tests/__init__.py,sha256=pdPbCTRwpCJamlyvIi9HZTlqAvK5HPbGu3oMA0cu2Rs,329
249
+ numpy/_pyinstaller/tests/pyinstaller-smoke.py,sha256=6iL-eHMQaG3rxnS5EgcvrCqElm9aKL07Cjr1FZJSXls,1143
250
+ numpy/_pyinstaller/tests/test_pyinstaller.py,sha256=8K-7QxmfoXCG0NwR0bhIgCNrDjGlrTzWnrR1sR8btgU,1135
251
+ numpy/_pytesttester.py,sha256=DjlYL8uINN2XWa3nnlX6gPGuoLjcx1Bie_PQzbp2cpA,6328
252
+ numpy/_pytesttester.pyi,sha256=ZrG8AwIUWGp3LEsELW-ZW3p7LmQbpFBvmAx47BK-21s,503
253
+ numpy/_typing/__init__.py,sha256=MwNKwZKpmg7s-bq9FNt4GBEnSSbQSmkj-SpxtmMpoik,5466
254
+ numpy/_typing/_add_docstring.py,sha256=_3g7D-6HAQ3MT4X6DE07yLua9LqWFhskNVx1TS7X9O4,3999
255
+ numpy/_typing/_array_like.py,sha256=EPZUfJSjamvsWJ6Rs5ZwwA_5FhBpYdoifcVVtVcWPn0,4188
256
+ numpy/_typing/_char_codes.py,sha256=j07npk82Nb7Ira2z7ZTlU3UcOPwt2gM7qZKrPLdjT48,8764
257
+ numpy/_typing/_dtype_like.py,sha256=jWTQmPXVwQ7FmU_7bdZYu3ltlJz0ifTxHhXUthqH-8Y,3864
258
+ numpy/_typing/_extended_precision.py,sha256=pknUqgak0FBNM-sERPqW-pFGH71_K-iehFSee5oQiqE,434
259
+ numpy/_typing/_nbit.py,sha256=KSbKwOKttob-5ytT5vCVkHrDMn0YHvyptTTyj_6AYcw,632
260
+ numpy/_typing/_nbit_base.py,sha256=nPZpsQltuR5B0iaAYF9qD2he_kXnmssv_RhaUNFsW-s,3058
261
+ numpy/_typing/_nbit_base.pyi,sha256=NMH4lkJodOd-NwZiYFY1gLfuLpVtalIICZIjUOI4rFo,739
262
+ numpy/_typing/_nested_sequence.py,sha256=so1agYGHd5gDo_IBvvHqBB5lsqGbHqN_imyC5UHU-HI,2505
263
+ numpy/_typing/_scalars.py,sha256=LhXY2BTHmeYKzeIZfpjvuMn-5eOLjU2n9z7z1l5bKf8,944
264
+ numpy/_typing/_shape.py,sha256=6cFv-LbSyG9mlfSBOGGyul9Q_GUrlcHQC9JZa-m20cA,275
265
+ numpy/_typing/_ufunc.py,sha256=HOkaE-6wV0fd3rmHZGC39YAHIIf8tyvlzekD4y4GQxA,156
266
+ numpy/_typing/_ufunc.pyi,sha256=bVThAWsds3XB3ovsEljVkM0rykZ_QVylpVIHdLSMhHU,29621
267
+ numpy/_utils/__init__.py,sha256=hVnZ7C0MCSNbMw-Zyq-MKCYStaGX6RzqFMnnh7ed4dE,3477
268
+ numpy/_utils/__init__.pyi,sha256=iyjmbkqc_FSqPSQnWN1rgjIMLgYhUbxj8rDSbgbBtNQ,700
269
+ numpy/_utils/_convertions.py,sha256=0xMxdeLOziDmHsRM_8luEh4S-kQdMoMg6GxNDDas69k,329
270
+ numpy/_utils/_convertions.pyi,sha256=4l-0UmPCyVA70UJ8WAd2A45HrKFSzgC0sFDBSnKcYiQ,118
271
+ numpy/_utils/_inspect.py,sha256=zFuJABH08D1Kgq_eecYkD1Ogg0OXp1t4oqjZxM0kdLk,7436
272
+ numpy/_utils/_inspect.pyi,sha256=ECIdFsA77BHWMmSDMS1LIEfS3S7hCH4uvOeIeeEQHU8,2254
273
+ numpy/_utils/_pep440.py,sha256=it9P4_oHXWw3BxdoVz7JPMuj5kxF5M7_BJ8Z1m9nu0w,13988
274
+ numpy/_utils/_pep440.pyi,sha256=gtyEdfQKwTwF2SNsTg9LDnUIDCB0Fi95BWbhVkK9q9E,3846
275
+ numpy/char/__init__.py,sha256=xs6pprMdmNeXVfuTRkU3nF9qdhutWdPu5oaep2AjWmc,93
276
+ numpy/char/__init__.pyi,sha256=siwqDh7X7u4e0HGx3xg8eDaJVqy0_nac5y8UMzz-BcM,1540
277
+ numpy/conftest.py,sha256=MZPvdfY_fM0b-cMDvjQCarajo8jEurYvNkfrSFq_HB0,8652
278
+ numpy/core/__init__.py,sha256=wJNaRF1UFOnZKqiBrsshWLjTGiEZ9rvWlcit0xj7Y0w,1290
279
+ numpy/core/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
+ numpy/core/_dtype.py,sha256=GHBhfVtsVrP7v13IujEz9aGIENkYIdbfuRu-New1UnU,323
281
+ numpy/core/_dtype.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
282
+ numpy/core/_dtype_ctypes.py,sha256=wX4m37b0zQgxlzT5OjE_uj2E5CpiX9E7HLFpO6h_lDY,351
283
+ numpy/core/_dtype_ctypes.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
+ numpy/core/_internal.py,sha256=qxpHJELXNUcYJkJt1LktQuZm4BwYu4bXnMuBEOp6POU,949
285
+ numpy/core/_multiarray_umath.py,sha256=T88HZgFD5VCuXRCSeLbPoj99nKUSdgyw8xWyf6eqhxQ,2098
286
+ numpy/core/_utils.py,sha256=5fk18JN43Rg6YHvan6QjdrOeOuLtRlLVmP6MadBEJVA,923
287
+ numpy/core/arrayprint.py,sha256=Lbe4smWXYFzd9sO9LLJ5PZS4C3bSvLt6HRtwSE56xN8,339
288
+ numpy/core/defchararray.py,sha256=a9luvvni8gRrGVdKO7U_xwsFFvkzlxnVgxL75jLRmCI,347
289
+ numpy/core/einsumfunc.py,sha256=CNucINgUIrpiLQn4xPI_mogwjfKlFA3h7gwAvRVwb5M,339
290
+ numpy/core/fromnumeric.py,sha256=5TaonJVuC110qv3f3cqTtmjayTX0BmqJAgoAJn5H3ZI,343
291
+ numpy/core/function_base.py,sha256=vhjhzsEzDd11RHg6pilfMJO3X6k94an5RAJqj-nlzms,351
292
+ numpy/core/getlimits.py,sha256=6nCk4Tw0LjW7joWsprI5LiMzje1gsOjO2lSQ_OwBB8I,335
293
+ numpy/core/multiarray.py,sha256=bjdPLbvJuj61M6TZkbB5NXOCNmH4QbUq6g3ePkKP6TA,793
294
+ numpy/core/numeric.py,sha256=Ctk_QikyB2mM0xI0lBeB8YTUfTwQSXfVdpIMRtunbMo,360
295
+ numpy/core/numerictypes.py,sha256=bXwTwzUahzbHrFGhS5RkJOvb6TYEsQnQC5ww9mN-1Vw,347
296
+ numpy/core/overrides.py,sha256=1FZyb0U6JJuyojtxFvQ7HSJ2rpfhWec0F-X0mapCjc8,335
297
+ numpy/core/overrides.pyi,sha256=-3xfjHfa4UaCuhTVwwRN4EOM5uz9vZR0gMeTVvEdbYI,525
298
+ numpy/core/records.py,sha256=9yfFDxyOc68lXqfbaosgRNlw1dbWP8CRHzIPEtEtSgc,327
299
+ numpy/core/shape_base.py,sha256=2srdQtF1d8LpUbDjGMXT-Tqz2K2NaTO-ZEC4viCYswY,339
300
+ numpy/core/umath.py,sha256=hMVmNrICdqXRiiRG7UMV0Gr-9xYqJGmkONGQn20iK98,319
301
+ numpy/ctypeslib/__init__.py,sha256=WFwMhpV2LJP-IQOspaInhV8c6XPKZwqppE-cvtIpqvU,193
302
+ numpy/ctypeslib/__init__.pyi,sha256=A5kK_gk6zaVmFoz__pH9izZloKINsAS7V8RxNqeRB9M,367
303
+ numpy/ctypeslib/_ctypeslib.py,sha256=NtEUpisQhDfETBLAkqYf7Ajq0xiNhZurb5SmGGH54pA,19079
304
+ numpy/ctypeslib/_ctypeslib.pyi,sha256=wWjbulxR0MKfn4VqD4yPmB9P2Xl38He2cAcY_Bn7akQ,8295
305
+ numpy/doc/ufuncs.py,sha256=9xt8H34GhrXrFq9cWFUGvJFePa9YuH9Tq1DzAnm2E2E,5414
306
+ numpy/dtypes.py,sha256=zuPwgC0ijF2oDRAOJ6I9JKhaJuhXFAygByLQaoVtT54,1312
307
+ numpy/dtypes.pyi,sha256=HNKilNXiMPl9m4VNKB7CaGA-PKNUWkbMsxmzae9TzEY,15529
308
+ numpy/exceptions.py,sha256=3xbpZ9l7F3mhwtymvl0vqE40aiN8bkceao8aXfZsl5U,7709
309
+ numpy/exceptions.pyi,sha256=Y01ApN2EjN_D9yAmp4o3almtJlgGBJo0cez6YiW7lbM,794
310
+ numpy/f2py/__init__.py,sha256=cAgUHWgJQZZsfv8co8KBNr_m8B6fpzdBaUNvJeBf_No,2448
311
+ numpy/f2py/__init__.pyi,sha256=pKBCWm4Ly5IIbp67OXnn6UgGTjXCo066k1ZfYFdksFA,113
312
+ numpy/f2py/__main__.py,sha256=6i2jVH2fPriV1aocTY_dUFvWK18qa-zjpnISA-OpF3w,130
313
+ numpy/f2py/__version__.py,sha256=99S6mSevuhwGmO9ku--7VUJekhN0ot4-J0cZKiHcqpw,48
314
+ numpy/f2py/__version__.pyi,sha256=L4V6f6B-wuPi82B0MzeQsgN0NuHUQs9rKYl1jy3tG7s,45
315
+ numpy/f2py/_backends/__init__.py,sha256=7_bA7c_xDpLc4_8vPfH32-Lxn9fcUTgjQ25srdvwvAM,299
316
+ numpy/f2py/_backends/__init__.pyi,sha256=i4XhDRwbrl0ta6QGJPxhYGfSgugNGdtoWf1_27eSd60,136
317
+ numpy/f2py/_backends/_backend.py,sha256=oFXZ8-VwcQSbltl8_pgWLPqCOZ8Y_px7oeTk_BlxJTc,1151
318
+ numpy/f2py/_backends/_backend.pyi,sha256=sU4YiHvGfMkzDFbhZqqQPT-kwJZsWpGemkLxDion7ss,1342
319
+ numpy/f2py/_backends/_distutils.py,sha256=hET0WB4qy-D4BznekGAWhk945k5weq2lGUDR6hriXMo,2385
320
+ numpy/f2py/_backends/_distutils.pyi,sha256=-L8K1KQShPGGd1vgr4DlnYf6AshHFaRzAcgGqKv205g,463
321
+ numpy/f2py/_backends/_meson.py,sha256=OY0wifJ93dFI41fBq6DdsvnQ_erA5quixvp60etaiI4,8626
322
+ numpy/f2py/_backends/_meson.pyi,sha256=qazYO9G3RXvYoqkNbPSr9_2rt2yKxXv77MSj3LPuSXU,1898
323
+ numpy/f2py/_backends/meson.build.template,sha256=fZOClSKhqmtdTHWkKtfkYT8hdGzJoaNEekJfElKGMkE,1667
324
+ numpy/f2py/_isocbind.py,sha256=zaBgpfPNRmxVG3doUIlbZIiyB990MsXiwDabrSj9HnQ,2360
325
+ numpy/f2py/_isocbind.pyi,sha256=KuzqHJQk0YSQnRnb8xqnyh8T0DGNnDD6bNI880tadCY,339
326
+ numpy/f2py/_src_pyf.py,sha256=PHpo9D28Kq3q_3-KFX8D3sFD9eX8A1c3LuLNzXzByOw,7695
327
+ numpy/f2py/_src_pyf.pyi,sha256=OmzQPXjJMOdIgxSduJB0HMy6rGltZ9fCDKkYcSa6WmU,1011
328
+ numpy/f2py/auxfuncs.py,sha256=dnaUwrdAv4-LbEiHNbS1vrjQNCO0lBuyWkj3Rt_UizE,26920
329
+ numpy/f2py/auxfuncs.pyi,sha256=RHQxfKuoQWFdT5BBqOZN5HOHX0Zu3qyOC-Ver6aaiQU,7992
330
+ numpy/f2py/capi_maps.py,sha256=7C-NndI2UbStNGXbhgbWOmr9tLAxfQvw1zf7Z7w5SFk,30079
331
+ numpy/f2py/capi_maps.pyi,sha256=pR0pVZhUxaCpctq7FOWFSAGI_gaLdE-NWAyT96cWWZg,1066
332
+ numpy/f2py/cb_rules.py,sha256=6KbPu9yfJ-7pAa24Ij9H34Ll15Qc8CXTqCFiUJI6R8Y,25051
333
+ numpy/f2py/cb_rules.pyi,sha256=X_it8-Q0188EDlXd-QxhRdc3OUoA2t6V_jgM5TiQC88,495
334
+ numpy/f2py/cfuncs.py,sha256=4J4P12oGpyWZHb1AVKAl7YJ3QUgngwGMCnB1IhrJn7U,52660
335
+ numpy/f2py/cfuncs.pyi,sha256=EiAtSQxw4x-UlxsGKIEOJnld1d7dNYrk0bt_rlqLSp0,802
336
+ numpy/f2py/common_rules.py,sha256=_9yzIolJMGgpd3D94LdBsODnfUskMRgt2v03rECIHJQ,5030
337
+ numpy/f2py/common_rules.pyi,sha256=1uzTkcwiin6dVBbWUiOVB1ZppjKBHoRHG_Byvw-1UbI,323
338
+ numpy/f2py/crackfortran.py,sha256=vbAvWj6XszLS-nU0nOedaNNtwtqvkkM8gqZAP9MvPBI,146879
339
+ numpy/f2py/crackfortran.pyi,sha256=-je1cNvBEmUifIGclah_SxqX2vXTLYqca2pom_ZcCsA,10298
340
+ numpy/f2py/diagnose.py,sha256=YWNj1vM68e47Lb270wlZk5yrcU-yTlzGaYNPBZ7nTAU,5075
341
+ numpy/f2py/diagnose.pyi,sha256=ZFVCWTwf_xzL736p9FcfCYWftOXcNqSMCmq-K27KNN8,23
342
+ numpy/f2py/f2py2e.py,sha256=6wQ59y_Iq4Uw9UYdEpJlybpS2_b_w9oEtgwlPCcCcsM,28827
343
+ numpy/f2py/f2py2e.pyi,sha256=vBiROr0fWogbfXLBSDQTmISuhHv6LtiL43GvyHQ1YYk,2131
344
+ numpy/f2py/f90mod_rules.py,sha256=7Z5vorU4whX405xML66hr4i1icCUc9gr6an4R-AMh7M,9810
345
+ numpy/f2py/f90mod_rules.pyi,sha256=r6w0DuH2Jdt8wPdDYAnXZAQmytIYUqPOxVz-QaWwt74,451
346
+ numpy/f2py/func2subr.py,sha256=DXUsYF2TJxJ9576z_Mkn479YS9pstWsKUtu9_J6FjB8,10045
347
+ numpy/f2py/func2subr.pyi,sha256=-MDbOrhanuizf3rlcwBQooCF4GnoGprA8ypeFV_m8d0,386
348
+ numpy/f2py/rules.py,sha256=9XTR7sSgwkUSngcRnqd-pN3Yaq1swjB1PrrNj7YCqHI,63094
349
+ numpy/f2py/rules.pyi,sha256=gpVSXV98hwuQzZzILfM0cKYeDJBct9wC2QD4ja79VsA,1307
350
+ numpy/f2py/setup.cfg,sha256=Fpn4sjqTl5OT5sp8haqKIRnUcTPZNM6MIvUJBU7BIhg,48
351
+ numpy/f2py/src/fortranobject.c,sha256=PhTgOrQGzLqyryRzhGY4hFLQPhhIL_pFh7TZT73j6JE,46456
352
+ numpy/f2py/src/fortranobject.h,sha256=7cfRN_tToAQ1Na13VQ2Kzb2ujMHUAgGsbScnfLVOHqs,5823
353
+ numpy/f2py/symbolic.py,sha256=qD1dLV1ZLsuIGBT3lHNskavb39hmwu4DEak0kWko5oE,53310
354
+ numpy/f2py/symbolic.pyi,sha256=BB8PSxUF1kySgGQDUAMlCBtbhoNOfmjbvLujcg-hKmA,6064
355
+ numpy/f2py/tests/__init__.py,sha256=pdPbCTRwpCJamlyvIi9HZTlqAvK5HPbGu3oMA0cu2Rs,329
356
+ numpy/f2py/tests/src/abstract_interface/foo.f90,sha256=JFU2w98cB_XNwfrqNtI0yDTmpEdxYO_UEl2pgI_rnt8,658
357
+ numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90,sha256=gvQJIzNtvacWE0dhysxn30-iUeI65Hpq7DiE9oRauz8,105
358
+ numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c,sha256=1W4NPnwgcU9d9RQ3vcpWGtxsBQq2lb2sAJwbLtjbPmg,7481
359
+ numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap,sha256=But9r9m4iL7EGq_haMW8IiQ4VivH0TgUozxX4pPvdpE,29
360
+ numpy/f2py/tests/src/assumed_shape/foo_free.f90,sha256=oBwbGSlbr9MkFyhVO2aldjc01dr9GHrMrSiRQek8U64,460
361
+ numpy/f2py/tests/src/assumed_shape/foo_mod.f90,sha256=rfzw3QdI-eaDSl-hslCgGpd5tHftJOVhXvb21Y9Gf6M,499
362
+ numpy/f2py/tests/src/assumed_shape/foo_use.f90,sha256=rmT9k4jP9Ru1PLcGqepw9Jc6P9XNXM0axY7o4hi9lUw,269
363
+ numpy/f2py/tests/src/assumed_shape/precision.f90,sha256=r08JeTVmTTExA-hYZ6HzaxVwBn1GMbPAuuwBhBDtJUk,130
364
+ numpy/f2py/tests/src/block_docstring/foo.f,sha256=y7lPCPu7_Fhs_Tf2hfdpDQo1bhtvNSKRaZAOpM_l3dg,97
365
+ numpy/f2py/tests/src/callback/foo.f,sha256=C1hjfpRCQWiOVVzIHqnsYcnLrqQcixrnHCn8hd9GhVk,1254
366
+ numpy/f2py/tests/src/callback/gh17797.f90,sha256=_Nrl0a2HgUbtymGU0twaJ--7rMa1Uco2A3swbWvHoMo,148
367
+ numpy/f2py/tests/src/callback/gh18335.f90,sha256=NraOyKIXyvv_Y-3xGnmTjtNjW2Znsnlk8AViI8zfovc,506
368
+ numpy/f2py/tests/src/callback/gh25211.f,sha256=a2sxlQhtDVbYn8KOKHUYqwc-aCFt7sDPSnJsXFG35uI,179
369
+ numpy/f2py/tests/src/callback/gh25211.pyf,sha256=FWxo0JWQlw519BpZV8PoYeI_FZ_K6C-3Wk6gLrfBPlw,447
370
+ numpy/f2py/tests/src/callback/gh26681.f90,sha256=-cD69x7omk5wvVsfMHlXiZ-pTcaxs2Bl5G9GHA4UJ2M,566
371
+ numpy/f2py/tests/src/cli/gh_22819.pyf,sha256=5rvOfCv-wSosB354LC9pExJmMoSHnbGZGl_rtA2fogA,142
372
+ numpy/f2py/tests/src/cli/hi77.f,sha256=ttyI6vAP3qLnDqy82V04XmoqrXNM6uhMvvLri2p0dq0,71
373
+ numpy/f2py/tests/src/cli/hiworld.f90,sha256=QWOLPrTxYQu1yrEtyQMbM0fE9M2RmXe7c185KnD5x3o,51
374
+ numpy/f2py/tests/src/common/block.f,sha256=GQ0Pd-VMX3H3a-__f2SuosSdwNXHpBqoGnQDjf8aG9g,224
375
+ numpy/f2py/tests/src/common/gh19161.f90,sha256=BUejyhqpNVfHZHQ-QC7o7ZSo7lQ6YHyX08lSmQqs6YM,193
376
+ numpy/f2py/tests/src/crackfortran/accesstype.f90,sha256=-5Din7YlY1TU7tUHD2p-_DSTxGBpDsWYNeT9WOwGhno,208
377
+ numpy/f2py/tests/src/crackfortran/common_with_division.f,sha256=2LfRa26JEB07_ti-WDmIveq991PxRlL_K6ss28rZDkk,494
378
+ numpy/f2py/tests/src/crackfortran/data_common.f,sha256=ZSUAh3uhn9CCF-cYqK5TNmosBGPfsuHBIEfudgysun4,193
379
+ numpy/f2py/tests/src/crackfortran/data_multiplier.f,sha256=jYrJKZWF_59JF9EMOSALUjn0UupWvp1teuGpcL5s1Sc,197
380
+ numpy/f2py/tests/src/crackfortran/data_stmts.f90,sha256=19YO7OGj0IksyBlmMLZGRBQLjoE3erfkR4tFvhznvvE,693
381
+ numpy/f2py/tests/src/crackfortran/data_with_comments.f,sha256=hoyXw330VHh8duMVmAQZjr1lgLVF4zFCIuEaUIrupv0,175
382
+ numpy/f2py/tests/src/crackfortran/foo_deps.f90,sha256=CaH7mnWTG7FcnJe2vXN_0zDbMadw6NCqK-JJ2HmDjK8,128
383
+ numpy/f2py/tests/src/crackfortran/gh15035.f,sha256=jJly1AzF5L9VxbVQ0vr-sf4LaUo4eQzJguhuemFxnvg,375
384
+ numpy/f2py/tests/src/crackfortran/gh17859.f,sha256=7K5dtOXGuBDAENPNCt-tAGJqTfNKz5OsqVSk16_e7Es,340
385
+ numpy/f2py/tests/src/crackfortran/gh22648.pyf,sha256=qZHPRNQljIeYNwbqPLxREnOrSdVV14f3fnaHqB1M7c0,241
386
+ numpy/f2py/tests/src/crackfortran/gh23533.f,sha256=w3tr_KcY3s7oSWGDmjfMHv5h0RYVGUpyXquNdNFOJQg,126
387
+ numpy/f2py/tests/src/crackfortran/gh23598.f90,sha256=41W6Ire-5wjJTTg6oAo7O1WZfd1Ug9vvNtNgHS5MhEU,101
388
+ numpy/f2py/tests/src/crackfortran/gh23598Warn.f90,sha256=1v-hMCT_K7prhhamoM20nMU9zILam84Hr-imck_dYYk,205
389
+ numpy/f2py/tests/src/crackfortran/gh23879.f90,sha256=LWDJTYR3t9h1IsrKC8dVXZlBfWX7clLeU006X6Ow8oI,332
390
+ numpy/f2py/tests/src/crackfortran/gh27697.f90,sha256=bbnKpDsOuCWluoNodxzCspUQnu169zKTsn4fLTkhwpM,364
391
+ numpy/f2py/tests/src/crackfortran/gh2848.f90,sha256=gPNasx98SIf7Z9ibk_DHiGKCvl7ERtsfoGXiFDT7FbM,282
392
+ numpy/f2py/tests/src/crackfortran/operators.f90,sha256=-Fc-qjW1wBr3Dkvdd5dMTrt0hnjnV-1AYo-NFWcwFSo,1184
393
+ numpy/f2py/tests/src/crackfortran/privatemod.f90,sha256=7bubZGMIn7iD31wDkjF1TlXCUM7naCIK69M9d0e3y-U,174
394
+ numpy/f2py/tests/src/crackfortran/publicmod.f90,sha256=Pnwyf56Qd6W3FUH-ZMgnXEYkb7gn18ptNTdwmGan0Jo,167
395
+ numpy/f2py/tests/src/crackfortran/pubprivmod.f90,sha256=eYpJwBYLKGOxVbKgEqfny1znib-b7uYhxcRXIf7uwXg,165
396
+ numpy/f2py/tests/src/crackfortran/unicode_comment.f90,sha256=aINLh6GlfTwFewxvDoqnMqwuCNb4XAqi5Nj5vXguXYs,98
397
+ numpy/f2py/tests/src/f2cmap/.f2py_f2cmap,sha256=iUOtfHd3OuT1Rz2-yiSgt4uPKGvCt5AzQ1iygJt_yjg,82
398
+ numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90,sha256=iJCD8a8MUTmuPuedbcmxW54Nr4alYuLhksBe1sHS4K0,298
399
+ numpy/f2py/tests/src/isocintrin/isoCtests.f90,sha256=jcw-fzrFh0w5U66uJYfeUW4gv94L5MnWQ_NpsV9y0oI,998
400
+ numpy/f2py/tests/src/kind/foo.f90,sha256=zIHpw1KdkWbTzbXb73hPbCg4N2Htj3XL8DIwM7seXpo,347
401
+ numpy/f2py/tests/src/mixed/foo.f,sha256=90zmbSHloY1XQYcPb8B5d9bv9mCZx8Z8AMTtgDwJDz8,85
402
+ numpy/f2py/tests/src/mixed/foo_fixed.f90,sha256=pxKuPzxF3Kn5khyFq9ayCsQiolxB3SaNtcWaK5j6Rv4,179
403
+ numpy/f2py/tests/src/mixed/foo_free.f90,sha256=fIQ71wrBc00JUAVUj_r3QF9SdeNniBiMw6Ly7CGgPWU,139
404
+ numpy/f2py/tests/src/modules/gh25337/data.f90,sha256=9Uz8CHB9i3_mjC3cTOmkTgPAF5tWSwYacG3MUrU-SY0,180
405
+ numpy/f2py/tests/src/modules/gh25337/use_data.f90,sha256=WATiDGAoCKnGgMzm_iMgmfVU0UKOQlk5Fm0iXCmPAkE,179
406
+ numpy/f2py/tests/src/modules/gh26920/two_mods_with_no_public_entities.f90,sha256=c7VU4SbK3yWn-6wksP3tDx_Hxh5u_g8UnlDpjU_-tBg,402
407
+ numpy/f2py/tests/src/modules/gh26920/two_mods_with_one_public_routine.f90,sha256=eEU7RgFPh-TnNXEuJFdtJmTF-wPnpbHLQhG4fEeJnag,403
408
+ numpy/f2py/tests/src/modules/module_data_docstring.f90,sha256=tDZ3fUlazLL8ThJm3VwNGJ75QIlLcW70NnMFv-JA4W0,224
409
+ numpy/f2py/tests/src/modules/use_modules.f90,sha256=UsFfx0B2gu_tS-H-BpLWed_yoMDl1kbydMIOz8fvXWA,398
410
+ numpy/f2py/tests/src/negative_bounds/issue_20853.f90,sha256=fdOPhRi7ipygwYCXcda7p_dlrws5Hd2GlpF9EZ-qnck,157
411
+ numpy/f2py/tests/src/parameter/constant_array.f90,sha256=KRg7Gmq_r3B7t3IEgRkP1FT8ve8AuUFWT0WcTlXoN5U,1468
412
+ numpy/f2py/tests/src/parameter/constant_both.f90,sha256=-bBf2eqHb-uFxgo6Q7iAtVUUQzrGFqzhHDNaxwSICfQ,1939
413
+ numpy/f2py/tests/src/parameter/constant_compound.f90,sha256=re7pfzcuaquiOia53UT7qNNrTYu2euGKOF4IhoLmT6g,469
414
+ numpy/f2py/tests/src/parameter/constant_integer.f90,sha256=nEmMLitKoSAG7gBBEQLWumogN-KS3DBZOAZJWcSDnFw,612
415
+ numpy/f2py/tests/src/parameter/constant_non_compound.f90,sha256=IcxESVLKJUZ1k9uYKoSb8Hfm9-O_4rVnlkiUU2diy8Q,609
416
+ numpy/f2py/tests/src/parameter/constant_real.f90,sha256=quNbDsM1Ts2rN4WtPO67S9Xi_8l2cXabWRO00CPQSSQ,610
417
+ numpy/f2py/tests/src/quoted_character/foo.f,sha256=WjC9D9171fe2f7rkUAZUvik9bkIf9adByfRGzh6V0cM,482
418
+ numpy/f2py/tests/src/regression/AB.inc,sha256=cSNxitwrjTKMiJzhY2AI5FaXJ5y9zDgA27x79jyoI6s,16
419
+ numpy/f2py/tests/src/regression/assignOnlyModule.f90,sha256=c9RvUP1pQ201O_zOXgV0xp_aJF_8llxuA8Uot9z5tr0,608
420
+ numpy/f2py/tests/src/regression/datonly.f90,sha256=9cVvl8zlAuGiqbSHMFzFn6aNWXj2v7sHJdd9A1Oc0qg,392
421
+ numpy/f2py/tests/src/regression/f77comments.f,sha256=bqTsmO8WuSLVFsViIV7Nj7wQbJoZ7IAA3d2tpRDKsnA,626
422
+ numpy/f2py/tests/src/regression/f77fixedform.f95,sha256=hcLZbdozMJ3V9pByVRp3RoeUvZgLMRLFctpZvxK2hTI,139
423
+ numpy/f2py/tests/src/regression/f90continuation.f90,sha256=_W1fj0wXLqT91Q14qpBnM3F7rJKaiSR8upe0mR6_OIE,276
424
+ numpy/f2py/tests/src/regression/incfile.f90,sha256=i7Y1zgMXR9bSxnjeYWSDGeCfsS5jiyn7BLb-wbwjz2U,92
425
+ numpy/f2py/tests/src/regression/inout.f90,sha256=CpHpgMrf0bqA1W3Ozo3vInDz0RP904S7LkpdAH6ODck,277
426
+ numpy/f2py/tests/src/regression/lower_f2py_fortran.f90,sha256=CMQL5RWf9LKnnUDiS-IYa9xc9DGanCYraNq0vGmunOE,100
427
+ numpy/f2py/tests/src/regression/mod_derived_types.f90,sha256=565plqPwWDgnkpSb4-cfZbf3wTM85F2Gocklx5wpGWA,567
428
+ numpy/f2py/tests/src/return_character/foo77.f,sha256=WzDNF3d_hUDSSZjtxd3DtE-bSx1ilOMEviGyYHbcFgM,980
429
+ numpy/f2py/tests/src/return_character/foo90.f90,sha256=ULcETDEt7gXHRzmsMhPsGG4o3lGrcx-FEFaJsPGFKyA,1248
430
+ numpy/f2py/tests/src/return_complex/foo77.f,sha256=8ECRJkfX82oFvGWKbIrCvKjf5QQQClx4sSEvsbkB6A8,973
431
+ numpy/f2py/tests/src/return_complex/foo90.f90,sha256=c1BnrtWwL2dkrTr7wvlEqNDg59SeNMo3gyJuGdRwcDw,1238
432
+ numpy/f2py/tests/src/return_integer/foo77.f,sha256=_8k1evlzBwvgZ047ofpdcbwKdF8Bm3eQ7VYl2Y8b5kA,1178
433
+ numpy/f2py/tests/src/return_integer/foo90.f90,sha256=bzxbYtofivGRYH35Ang9ScnbNsVERN8-6ub5-eI-LGQ,1531
434
+ numpy/f2py/tests/src/return_logical/foo77.f,sha256=FxiF_X0HkyXHzJM2rLyTubZJu4JB-ObLnVqfZwAQFl8,1188
435
+ numpy/f2py/tests/src/return_logical/foo90.f90,sha256=9KmCe7yJYpi4ftkKOM3BCDnPOdBPTbUNrKxY3p37O14,1531
436
+ numpy/f2py/tests/src/return_real/foo77.f,sha256=ZTrzb6oDrIDPlrVWP3Bmtkbz3ffHaaSQoXkfTGtCuFE,933
437
+ numpy/f2py/tests/src/return_real/foo90.f90,sha256=gZuH5lj2lG6gqHlH766KQ3J4-Ero-G4WpOOo2MG3ohU,1194
438
+ numpy/f2py/tests/src/routines/funcfortranname.f,sha256=oGPnHo0zL7kjFnuHw41mWUSXauoeRVPXnYXBb2qljio,123
439
+ numpy/f2py/tests/src/routines/funcfortranname.pyf,sha256=coD8AdLyPK4_cGvQJgE2WJW_jH8EAulZCsMeb-Q1gOk,440
440
+ numpy/f2py/tests/src/routines/subrout.f,sha256=RTexoH7RApv_mhu-RcVwyNiU-DXMTUP8LJAMSn2wQjk,90
441
+ numpy/f2py/tests/src/routines/subrout.pyf,sha256=c9qv4XtIh4wA9avdkDJuXNwojK-VBPldrNhxlh446Ic,322
442
+ numpy/f2py/tests/src/size/foo.f90,sha256=IlFAQazwBRr3zyT7v36-tV0-fXtB1d7WFp6S1JVMstg,815
443
+ numpy/f2py/tests/src/string/char.f90,sha256=ihr_BH9lY7eXcQpHHDQhFoKcbu7VMOX5QP2Tlr7xlaM,618
444
+ numpy/f2py/tests/src/string/fixed_string.f90,sha256=5n6IkuASFKgYICXY9foCVoqndfAY0AQZFEK8L8ARBGM,695
445
+ numpy/f2py/tests/src/string/gh24008.f,sha256=UA8Pr-_yplfOFmc6m4v9ryFQ8W9OulaglulefkFWD68,217
446
+ numpy/f2py/tests/src/string/gh24662.f90,sha256=-Tp9Kd1avvM7AIr8ZukFA9RVr-wusziAnE8AvG9QQI4,197
447
+ numpy/f2py/tests/src/string/gh25286.f90,sha256=2EpxvC-0_dA58MBfGQcLyHzpZgKcMf_W9c73C_Mqnok,304
448
+ numpy/f2py/tests/src/string/gh25286.pyf,sha256=GjgWKh1fHNdPGRiX5ek60i1XSeZsfFalydWqjISPVV8,381
449
+ numpy/f2py/tests/src/string/gh25286_bc.pyf,sha256=6Y9zU66NfcGhTXlFOdFjCSMSwKXpq5ZfAe3FwpkAsm4,384
450
+ numpy/f2py/tests/src/string/scalar_string.f90,sha256=ACxV2i6iPDk-a6L_Bs4jryVKYJMEGUTitEIYTjbJes4,176
451
+ numpy/f2py/tests/src/string/string.f,sha256=shr3fLVZaa6SyUJFYIF1OZuhff8v5lCwsVNBU2B-3pk,248
452
+ numpy/f2py/tests/src/value_attrspec/gh21665.f90,sha256=JC0FfVXsnB2lZHb-nGbySnxv_9VHAyD0mKaLDowczFU,190
453
+ numpy/f2py/tests/test_abstract_interface.py,sha256=PXNQB0DZdmdZyysJkB8f9GY0_hA3hGkmha8aQBXc1Sk,811
454
+ numpy/f2py/tests/test_array_from_pyobj.py,sha256=_A3-lUnbv19aFDr-sOj4HIAWzWCOgPUMPp3pPmEjXfA,23717
455
+ numpy/f2py/tests/test_assumed_shape.py,sha256=8kPoQWn6IfMWNMba0al7a5XopKb3JnvZP3V3P6O2F8o,1467
456
+ numpy/f2py/tests/test_block_docstring.py,sha256=P3K0QqnY0UfUQPc3vDrlP_WlZ6gNJ7iokG-D-ZG9tXQ,584
457
+ numpy/f2py/tests/test_callback.py,sha256=P_5qM1xWOYfjeDgd70cIVpV1h0_tA1AP3kxRZDAeqII,7099
458
+ numpy/f2py/tests/test_character.py,sha256=R6FhfIi85E6L1qwlJtsnTCvNgFRriE3kSXefTwIVgLk,21931
459
+ numpy/f2py/tests/test_common.py,sha256=gr4MF659JBWvSY4eQAqgHnOrVbEpq0ZhGM5Cdbye1L4,644
460
+ numpy/f2py/tests/test_crackfortran.py,sha256=x_E4KmEfBX5SFsNkO_-mUi4W_WuzB-ZFsLOfUdHjLVE,16413
461
+ numpy/f2py/tests/test_data.py,sha256=tete-xcIZHZi5VFjy_pyTjr5AjhQzoyJvLsT9QLYU1M,2895
462
+ numpy/f2py/tests/test_docs.py,sha256=gaR62vpFaIna-50RXgeI9hN8hQ2Ln-CTngMina6j9j8,1930
463
+ numpy/f2py/tests/test_f2cmap.py,sha256=zM8lksGAoH-cRvEVRkzciZ4oqH28obd-vvMVUObVjt0,387
464
+ numpy/f2py/tests/test_f2py2e.py,sha256=tMS7m8ME4TCrCDSNng4A3dL1-1bOjnOEvv3FY283VyI,28569
465
+ numpy/f2py/tests/test_isoc.py,sha256=g5PLyJuAYwF0obaZ55j_e-CNOODJcADsYFSfxcCl5LM,1434
466
+ numpy/f2py/tests/test_kind.py,sha256=IJeqJcfCu0nsieHEFu-O1bIjE5uK_KpcijLH0fX-V6E,1845
467
+ numpy/f2py/tests/test_mixed.py,sha256=DZcTCCle0o4aopFmGi58KtxzP6NFFci4N-pL3_HLb90,862
468
+ numpy/f2py/tests/test_modules.py,sha256=GaOwxLf8KLdNkWIl9fveT9xg_wvCFdDsel9QiFweCAE,2301
469
+ numpy/f2py/tests/test_parameter.py,sha256=P8hDezlxKN_Cm06oWGkS0pwlJvQz5QYwBsyTEA_Y1PQ,4634
470
+ numpy/f2py/tests/test_pyf_src.py,sha256=xV81hRiGeytFFKeVnp-6O2OrGVdzJyecMEalCQSoDoI,1134
471
+ numpy/f2py/tests/test_quoted_character.py,sha256=x19FhD6ZA7JkDuLuiXi48sGd8b42SPRuwwEY8CVRb24,477
472
+ numpy/f2py/tests/test_regression.py,sha256=HzADiyPbbVSdbgul5aw-Eim8ScCdlrM6WWTPAFZiI4w,6182
473
+ numpy/f2py/tests/test_return_character.py,sha256=t8cxO8LatnBXf2EU-HkfmdxvdHMYDk9DLx3kNUTArC4,1534
474
+ numpy/f2py/tests/test_return_complex.py,sha256=_uWrnSh-IDL8men8X__5srP4wM0RkICr4WVJgoNgrzY,2440
475
+ numpy/f2py/tests/test_return_integer.py,sha256=w9pHu-o1rcp148tATgFSqufr9nAnQxIeMKo-zowxPNY,1813
476
+ numpy/f2py/tests/test_return_logical.py,sha256=OrS11uAw_asDamL7inRKf-S-7SBG0GTS8Vrqlexrkm0,2048
477
+ numpy/f2py/tests/test_return_real.py,sha256=engDXzPYgBvUTLLdJ5vaIiGwt6A7zOn4lkM1W6mSUCY,3273
478
+ numpy/f2py/tests/test_routines.py,sha256=f9pR8FNJgKuBWtzCjlfniWVHJecpW6gSNkGDb2t693c,795
479
+ numpy/f2py/tests/test_semicolon_split.py,sha256=akc4xJiHI6xOCfpCEtFYPMz8qy2K5jODEPyJHYQvLdE,1627
480
+ numpy/f2py/tests/test_size.py,sha256=SjES727lNcCJFePDnh7uBhncOXWOcqHqVPbZPvBO5js,1155
481
+ numpy/f2py/tests/test_string.py,sha256=47wYPuO1NkjhXSbbyS8vBKsNCju5dA9uMjNhGPx-BGg,2938
482
+ numpy/f2py/tests/test_symbolic.py,sha256=acA2uG435eNd_swRK6bT8tsYFOIsqq0wfR4wEM6ASTI,18561
483
+ numpy/f2py/tests/test_value_attrspec.py,sha256=4wY9qPXl0JoPGCG7GyyuMDKLfsHAV8KRWGdEk9-ZZT8,330
484
+ numpy/f2py/tests/util.py,sha256=KIDsCW5uZXe6jSdWpY9Ozlqs5-v-eeDsW3P5TDWKDzo,12112
485
+ numpy/f2py/use_rules.py,sha256=emZhSLPbNDyBHnsfKKXDnGz4P_gwrgL0dfCZcD3n9D4,3376
486
+ numpy/f2py/use_rules.pyi,sha256=gIAAemWfcidclVYZUpa6RRmSdUEDw4FDnGPaCNo93Zw,424
487
+ numpy/fft/__init__.py,sha256=JRvTXZqBS5jgdqsuDaKlp-q7-xFCen6HOuEn1aJhN8A,8156
488
+ numpy/fft/__init__.pyi,sha256=992nhxdKw-ctGDtuq46inSi2uteyIkLu0Qb6WnO8HrI,493
489
+ numpy/fft/_helper.py,sha256=hIn2ZyEYG4fLB3MGvCPvpSrLXFfh-xO4zGKljk_TQjY,6787
490
+ numpy/fft/_helper.pyi,sha256=m9w0WomCSxwNjl_ul8kIz69-CuRYpDKjvXOj8fgaFrk,1376
491
+ numpy/fft/_pocketfft.py,sha256=jEoT07Ej5niqzKyvZ8VBk1p7gN1VKD8qyoG_MV0Co_o,62599
492
+ numpy/fft/_pocketfft.pyi,sha256=rvwn-Yb0JwjjFZrEjxGJkIGSAU0i5bJLLpHirmwDDw4,3216
493
+ numpy/fft/_pocketfft_umath.cpython-312-x86_64-linux-gnu.so,sha256=dtIceqXflT844c4lx1rrCigW7gEILrioPGu0hpXJD-M,539296
494
+ numpy/fft/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
495
+ numpy/fft/tests/test_helper.py,sha256=LeVDCCdHzFhmCQ5ByMtVyA22GphgTQS5dupuxrLE8X0,6154
496
+ numpy/fft/tests/test_pocketfft.py,sha256=D1PCAOUgwJMKCd0M28jpOilQxqj7wYoXXwn1xxmfyLA,24446
497
+ numpy/lib/__init__.py,sha256=zYGuqEfPqq7LDbidpxYs8GgCNAmoJ4xQgFvF3XKJ5Rg,3004
498
+ numpy/lib/__init__.pyi,sha256=exBBHVBBOsrMoLWflPYnqYgkiRgcxPbK0tE-6bP9g4Y,1495
499
+ numpy/lib/_array_utils_impl.py,sha256=GYWiyNqLQ7DGUSBXz0bbR6AAqZStDIwUe7tsbZ__15M,1697
500
+ numpy/lib/_array_utils_impl.pyi,sha256=prpTnShgOymnfPgSy_TotDYJMee4uVcl8crClI5bbCw,502
501
+ numpy/lib/_arraypad_impl.py,sha256=afF5B0MYYFBfh596wPab6SdGQRnkBoWDtfhPEf7mMTE,33519
502
+ numpy/lib/_arraypad_impl.pyi,sha256=DPdKF98OP-xsD8kqCWsAvNuUWbS-4q7PsN8GW_qXyjM,1929
503
+ numpy/lib/_arraysetops_impl.py,sha256=n4lswN3C9PlO188LKPpdund-x33zxEeIr81kSNVUFrQ,37341
504
+ numpy/lib/_arraysetops_impl.pyi,sha256=8VZHicsGK7GrG06sWq09CSO-Qjz11OsM1v0V9WWJw7I,13155
505
+ numpy/lib/_arrayterator_impl.py,sha256=HtOADIHuG9ADbbMTgmh4P_muke1V-8E-FNEO3bVOGPA,7218
506
+ numpy/lib/_arrayterator_impl.pyi,sha256=XEZf6uYIhHnQxd0HO699likPMgBJHHBa67CjW0TkdEI,1875
507
+ numpy/lib/_datasource.py,sha256=zk-Vbn4JlDHEVa3De6A3NgjnnizSJi-HF0ZvvA6YIo4,22731
508
+ numpy/lib/_datasource.pyi,sha256=YygvCl_6YccQe6oG-0Fm99hflv8azSWT6wVfnG87wzQ,995
509
+ numpy/lib/_format_impl.py,sha256=KpDMH5_GNbE4FcFmsD7aWOH7EfisUR5Nm21n0UfoNpE,36884
510
+ numpy/lib/_format_impl.pyi,sha256=liaA9VNhXcxzX5C8AJzHctwqe5-bySACAIOCvGz6Pco,2083
511
+ numpy/lib/_function_base_impl.py,sha256=sjEP0m0JtWa8UMlL5NMDKGZQPBanWl_2eumUpKeup8k,193738
512
+ numpy/lib/_function_base_impl.pyi,sha256=x9MtIA_XAgtHUYAJEmnGw0CiCq4tkAtOIkjx_-40qd0,75022
513
+ numpy/lib/_histograms_impl.py,sha256=Utu7aAQc7ZpsHn_04ogUnZq1ZcdHfipcq9eRq817oVU,38432
514
+ numpy/lib/_histograms_impl.pyi,sha256=A5M1rBuyv67IScw9pkdlyeptFkH3R0_UOHHdrDs3mpA,1055
515
+ numpy/lib/_index_tricks_impl.py,sha256=DN54N4WthnKaw9wHmp93ro4au30R0s3p41RH7JFGPis,31519
516
+ numpy/lib/_index_tricks_impl.pyi,sha256=NKalRhAcO9IiOqglbqhXfNRiy10oQGMuH11ew3sBlOE,8216
517
+ numpy/lib/_iotools.py,sha256=0jtpvpl5L-_1ODI21F-1i19t1e3L-6wJxRd1CSLewL0,30876
518
+ numpy/lib/_iotools.pyi,sha256=MiZ9S4gENGh-C-uWnzJTLBERkI-haXsSAmKffrMp1so,3652
519
+ numpy/lib/_nanfunctions_impl.py,sha256=YtHIegZKsWbGeVoZLqfdQAR5f3tj16mjPIbOxsoF5LQ,71399
520
+ numpy/lib/_nanfunctions_impl.pyi,sha256=b8tzCPwozLWvjGFJirShF-A67k1xlcpr3ERhFUCM3g0,816
521
+ numpy/lib/_npyio_impl.py,sha256=VX29yndf3wWrZg9mlMXSUZRjRCbdsqIqfhcGgo3IO4I,98636
522
+ numpy/lib/_npyio_impl.pyi,sha256=PRnSMC48qv7WmSZpbmua7IoqOXnBvHMxNk4r8z7WUZk,9494
523
+ numpy/lib/_polynomial_impl.py,sha256=BIeU4_F6OSPetW_fowVE8p0Dd1uvsTu1fJc3uSgTBSE,44125
524
+ numpy/lib/_polynomial_impl.pyi,sha256=ObY7qsEQVIQdJpLHqwinqSOuy6gJsmFQbeRAEqUHakA,7549
525
+ numpy/lib/_scimath_impl.py,sha256=b5_-yRzWJIO8da_Z4B8qQe68j8lpO8gttGlvGNplytw,15684
526
+ numpy/lib/_scimath_impl.pyi,sha256=pXBZjHPB_FbeBfe9M3N8TjrET_oclGuafWjTHC-xjUs,2774
527
+ numpy/lib/_shape_base_impl.py,sha256=yYWK9Qb3nkDa4aT-4TkAoGIWqni5WBPQqVIVbHw3sxE,39013
528
+ numpy/lib/_shape_base_impl.pyi,sha256=DqI_mm8oVflLHCpsdGqDvrw9i1Ft-sx_8_gtbzKvOFs,5541
529
+ numpy/lib/_stride_tricks_impl.py,sha256=1P8F7jFneH7_BtX74OvcI6SNn2iQpzPjSKombhNVNmw,19115
530
+ numpy/lib/_stride_tricks_impl.pyi,sha256=HEgDphquqhcWOKTNYth4mtsx4kltBLeMuNIFfLz_zDM,1959
531
+ numpy/lib/_twodim_base_impl.py,sha256=D-Ujk-kMZWXMI6wbi6RPs0egLghIJzCezgRorIiwhcg,33923
532
+ numpy/lib/_twodim_base_impl.pyi,sha256=k99TQ_-JoniBDxJ5dj1pdJ7ESI8x_qzpIGYkndyUSQ8,13024
533
+ numpy/lib/_type_check_impl.py,sha256=0rWzvLhMFqud2-yh58RVFQY8D2GpgUYDmnfpl4K3tWM,19914
534
+ numpy/lib/_type_check_impl.pyi,sha256=KQXPN5V_o63vEqIuKTdMjWTaevtjKxJIsJvOmklb1So,9694
535
+ numpy/lib/_ufunclike_impl.py,sha256=KYeiDVRMEfz98kOkw-XRy0e-jrTzjCODmdlGJSr7jNM,6014
536
+ numpy/lib/_ufunclike_impl.pyi,sha256=b-FKZjd7CMNWtP68VC_f9B2s8xseZALQ44xy3um_Jq8,1714
537
+ numpy/lib/_user_array_impl.py,sha256=ZckbFMNM28ETbpe12aYmJ4C1iReioSM-Te2N3iF_UZU,8026
538
+ numpy/lib/_user_array_impl.pyi,sha256=zx-LVLytrRIHCLhJPN4qoaCx-q63FyZDxqZFH2dEJ7U,9268
539
+ numpy/lib/_utils_impl.py,sha256=ltsW9MMp3k1vw7InidhYT5fo9grgwz624fvReiHDyWc,23499
540
+ numpy/lib/_utils_impl.pyi,sha256=s4MsT3JtPCllqqUnI4r8rPdBWKscJSSnULaExAZ9UEg,724
541
+ numpy/lib/_version.py,sha256=Cv-r6b9zVA6bD-vyFY8tCXRu9d5OsGnjqXalfY2RlOA,4783
542
+ numpy/lib/_version.pyi,sha256=vysY5Vl_nh4si6GkMXEoB6pUDl-jJ5g0LpSDa40F124,641
543
+ numpy/lib/array_utils.py,sha256=XbcyhJ9S0IlNnP9Ny6yygLMEACWWUPNOU8vevj1TEpI,144
544
+ numpy/lib/array_utils.pyi,sha256=kEO5wShp8zEbNTPu-Kw-EHuZQvq1rXHzgjK797xCV0Q,191
545
+ numpy/lib/format.py,sha256=npJ0eJhT7uKNK5a0lCMGfiJv-R4jyNhiIPeZbJcNXBs,477
546
+ numpy/lib/format.pyi,sha256=vrcCHQQapO98nk_tQ0bhvfnLPwX6gWzUhmoB5HYycCk,852
547
+ numpy/lib/introspect.py,sha256=6XobhsepKDUv8zmoPkfVM5EgZCGv61P2PKl_aRbEkHQ,2749
548
+ numpy/lib/introspect.pyi,sha256=AWVX6b9mzdwsxizOY0LydWKBEpGatHaeeXGc2txYJEM,152
549
+ numpy/lib/mixins.py,sha256=zQR-iIjCSSeWxepK5i-7ujSWfwFjrUZ_qxjerIikw6Y,7195
550
+ numpy/lib/mixins.pyi,sha256=dRThvef7EHQts_Xz2NNp_WUTQmPyt-D5NPd49tz1RcM,3182
551
+ numpy/lib/npyio.py,sha256=eaPvfHGSzUE70TJHHLOCPIX9G5ihMuBEexy6_PNhJ9Q,68
552
+ numpy/lib/npyio.pyi,sha256=MTP8KyQ2GTU8BTkpaMHnwDQO9ABrHRiCCEO5BfQGgLo,116
553
+ numpy/lib/recfunctions.py,sha256=T4aa5xXav9ntfw5YmzPiq_YUkh12wGk40XyBLQPCEzU,59539
554
+ numpy/lib/recfunctions.pyi,sha256=uqozNxnNFfe9uCKkTz4NNLhsUsxsNWGQDDJnb-2dr1k,13452
555
+ numpy/lib/scimath.py,sha256=qjFaQeq0zEIl7gKqOhaj_vmCC_KaFdyTmHdLUUkSp5I,169
556
+ numpy/lib/scimath.pyi,sha256=AgI9GgTcFn_pFzApCbM-JKrFkyY8AetkUpZb7YN4tVM,233
557
+ numpy/lib/stride_tricks.py,sha256=x0_BfwlycBAlR3BvpxTndeP96dHBT_fASbkTTTzBYgI,88
558
+ numpy/lib/stride_tricks.pyi,sha256=Fqn9EZXdjIgUTce6UMD7rBBb8289QTMzohhjHwYP3TU,124
559
+ numpy/lib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
560
+ numpy/lib/tests/data/py2-np0-objarr.npy,sha256=ZLoI7K3iQpXDkuoDF1Ymyc6Jbw4JngbQKC9grauVRsk,258
561
+ numpy/lib/tests/data/py2-objarr.npy,sha256=F4cyUC-_TB9QSFLAo2c7c44rC6NUYIgrfGx9PqWPSKk,258
562
+ numpy/lib/tests/data/py2-objarr.npz,sha256=xo13HBT0FbFZ2qvZz0LWGDb3SuQASSaXh7rKfVcJjx4,366
563
+ numpy/lib/tests/data/py3-objarr.npy,sha256=7mtikKlHXp4unZhM8eBot8Cknlx1BofJdd73Np2PW8o,325
564
+ numpy/lib/tests/data/py3-objarr.npz,sha256=vVRl9_NZ7_q-hjduUr8YWnzRy8ESNlmvMPlaSSC69fk,453
565
+ numpy/lib/tests/data/python3.npy,sha256=X0ad3hAaLGXig9LtSHAo-BgOvLlFfPYMnZuVIxRmj-0,96
566
+ numpy/lib/tests/data/win64python2.npy,sha256=agOcgHVYFJrV-nrRJDbGnUnF4ZTPYXuSeF-Mtg7GMpc,96
567
+ numpy/lib/tests/test__datasource.py,sha256=mh6sTEsxnPJhRstFDOTtFHlkyYWC9wmdeJI09kpqDOg,10564
568
+ numpy/lib/tests/test__iotools.py,sha256=GFFeJqg0XaYQkJMbq4VwWqua7y8BBPSZxoU8slliFHw,13830
569
+ numpy/lib/tests/test__version.py,sha256=SwXoEqMap603c2jd7ONod0ZOVQeX6T-zArMf03OCHbw,1999
570
+ numpy/lib/tests/test_array_utils.py,sha256=hPXtCjoBKe6MP91sg_04EBpRYg7MITVlCAgD1AScjx8,1118
571
+ numpy/lib/tests/test_arraypad.py,sha256=lR_Kljvk3P8hPbNDb7j600dXcaTLwVadqPzpE1pmm5s,56616
572
+ numpy/lib/tests/test_arraysetops.py,sha256=vLqMgRQhWyfvfYA05wzOFhSmfePrLdR2o8x5UCN0y84,47746
573
+ numpy/lib/tests/test_arrayterator.py,sha256=ukCI8ViKwUgmcluA5YrohgSyVA0tgiuQjDbm4afhL3k,1296
574
+ numpy/lib/tests/test_format.py,sha256=hRQLR45nUerpbdVmRYvwWiWCqh0A_bZbdl2QlseQcAM,41958
575
+ numpy/lib/tests/test_function_base.py,sha256=dmiuDJai8EUOv-QBOBh2EyiB9lx2TOnmOSpRS8j69PE,178217
576
+ numpy/lib/tests/test_histograms.py,sha256=bZwAk10KN8uCq8lYNg0aq7npsehlMv_UNOBhToqsk68,33951
577
+ numpy/lib/tests/test_index_tricks.py,sha256=7fw1p3IECnXo2U_6OjIhRDqpfiJW3PSrcvEtlENqlS8,24407
578
+ numpy/lib/tests/test_io.py,sha256=89D4CZ678gA-lZEyE-W7CHr2RVRW8qTS3LU4jyFx5Zc,111400
579
+ numpy/lib/tests/test_loadtxt.py,sha256=Y6vCiejYyVYvmsX5rkxbk2fYgSQWe4_Zgs-7aS0APqA,40491
580
+ numpy/lib/tests/test_mixins.py,sha256=9r6tgP4Wb6vCDn590PkHmHl-GBAoAL6_-mwp2wbiaO0,7009
581
+ numpy/lib/tests/test_nanfunctions.py,sha256=lOaE9u5qTOZMFLHZkLhLiuCbXqcUAo3nwIEnGWYZaO0,54297
582
+ numpy/lib/tests/test_packbits.py,sha256=REkoSXh9FVVTizyyHWkLqXFLIjt0rynXeixhK8-gBgk,17543
583
+ numpy/lib/tests/test_polynomial.py,sha256=sBikyp8XBo9s7_6NAH_zAByIIuH9zeCqM3gtuS_uW7w,12405
584
+ numpy/lib/tests/test_recfunctions.py,sha256=4ucL8V-emOvVNDws8TRxhvv9Dzl5QkERAWnUYTVBq24,43973
585
+ numpy/lib/tests/test_regression.py,sha256=UURtmtwfrxMDF3UY1ZMNbgIJOa38jUzYKCmpYYD8e3Q,7716
586
+ numpy/lib/tests/test_shape_base.py,sha256=ZWHeWCs9x0sD-L03h6kTmUdRHvxHVC-8KOu8KomhyKQ,27406
587
+ numpy/lib/tests/test_stride_tricks.py,sha256=Xor-W2rgGc5TpdlEdcSdqoE_ARCPVXTBrnY51Xd0uqI,23012
588
+ numpy/lib/tests/test_twodim_base.py,sha256=-djv2iP3W2sB4rAgj9Orl8alGwDFfPvcVu6CNvlKIcg,18925
589
+ numpy/lib/tests/test_type_check.py,sha256=2M6uyLSI-CP13CAylnBn3kbT6nrK6wYWW-Scw13vsAQ,14796
590
+ numpy/lib/tests/test_ufunclike.py,sha256=5a65WfziLpjPJ_yE8zg-A-q08xlyiU8_S1JH8kb-Uyw,3015
591
+ numpy/lib/tests/test_utils.py,sha256=HRZxH8Rs-PxCpMAhgbNOrTfBrsA8B2eTOKypY0Udczw,2374
592
+ numpy/lib/user_array.py,sha256=zs6u6TAXoAySGAZc1qE6fKD4AN-t6urZCaiZaKmHiso,63
593
+ numpy/lib/user_array.pyi,sha256=8C-aTekEYA0bVU7F3turaw1w0j8FfFvDp9xKa9Pfe94,53
594
+ numpy/linalg/__init__.py,sha256=tQAluaoJ9Od7GmfXwDuJFahswVSReQhNohoaGl1hPQI,2076
595
+ numpy/linalg/__init__.pyi,sha256=i7eZhV3E6OXwspoIxr4ugY5aY4v6p9Ucf5T46UbZLZs,1016
596
+ numpy/linalg/_linalg.py,sha256=wo8i_I_xdbP5wy16g3MCG-wbu4wO6SwysUMpquyuEpQ,114817
597
+ numpy/linalg/_linalg.pyi,sha256=2Hc-8D93OYiqegCzFMvCKYIjjAGWjQ_DPLBewlLr4Nw,13476
598
+ numpy/linalg/_umath_linalg.cpython-312-x86_64-linux-gnu.so,sha256=12BC3ksqs0bBclX0xOkI45gh0nBsrRLU9w9UQRTjt6k,231785
599
+ numpy/linalg/_umath_linalg.pyi,sha256=2LjoAVHHaMRvEANZ0lgQh-JjS9Qp2ai9Is_Gmm9RSM4,1391
600
+ numpy/linalg/lapack_lite.cpython-312-x86_64-linux-gnu.so,sha256=6r_GCQKUZaPzJLKxuXI9n2S5s1PE1leAQxXwXOiw2IY,30001
601
+ numpy/linalg/lapack_lite.pyi,sha256=HWrXgeHCVKXIA4OXnZ5IjqeYoYj6S-7CE_yzGNLsQv8,2707
602
+ numpy/linalg/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
603
+ numpy/linalg/tests/test_deprecations.py,sha256=G7-AiBgYY-FqVOgu9bo0KO23iqoGOMoT158LwXTNF4E,616
604
+ numpy/linalg/tests/test_linalg.py,sha256=MABZrlM5ocChvkzkJqaV534IjKHKOYIKXioJzCAgHjk,85050
605
+ numpy/linalg/tests/test_regression.py,sha256=U6S7OZ7KZtWCE9TBT27a72CFY779p9TWGZ6gGHcsWy4,6796
606
+ numpy/ma/API_CHANGES.txt,sha256=F_4jW8X5cYBbzpcwteymkonTmvzgKKY2kGrHF1AtnrI,3405
607
+ numpy/ma/LICENSE,sha256=BfO4g1GYjs-tEKvpLAxQ5YdcZFLVAJoAhMwpFVH_zKY,1593
608
+ numpy/ma/README.rst,sha256=krf2cvVK_zNQf1d3yVYwg0uDHzTiR4vHbr91zwaAyoI,9874
609
+ numpy/ma/__init__.py,sha256=XpDWYXwauDc49-INsk455D03Uw4p6xFdsdWOn2rt87U,1406
610
+ numpy/ma/__init__.pyi,sha256=QV7F1eN7GQLA2V2vI_bYXC_XhoZl-2IqXHWIqJtXLKU,6946
611
+ numpy/ma/core.py,sha256=mXD6ksqk8MEKtRNitjR_512AdGH5j5Me99baqfMLADs,289255
612
+ numpy/ma/core.pyi,sha256=sRucI8OkwW7_ludQUsxGUFpeHUXkURfhaGPFChvDDDw,131478
613
+ numpy/ma/extras.py,sha256=AInammCBbRv65I1n1L1BbFSmvdQuZHDnrZ1oorGoTIE,67790
614
+ numpy/ma/extras.pyi,sha256=Xh2jfcNC4gDQfjQ6VuwuqbxDlwAgme7aGpZXkHekz7g,8936
615
+ numpy/ma/mrecords.py,sha256=AeXBSQRZH9mUatNazo8jxmHTuL8ONeo1AMlHbatWRcQ,26486
616
+ numpy/ma/mrecords.pyi,sha256=ViAORHq2KLyMmD_rG7NvADFx1XdH_7A4b1DgP4Z-Ihg,2073
617
+ numpy/ma/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
618
+ numpy/ma/tests/test_arrayobject.py,sha256=MSvEcxlsVt4YZ7mVXU8q_hkwM0I7xsxWejEqnUQx6hE,1099
619
+ numpy/ma/tests/test_core.py,sha256=fEN3vEZ-l-7VQG0xBty0fxRfcEWPTZqomjcExpP2Xpo,224851
620
+ numpy/ma/tests/test_deprecations.py,sha256=DiI9OFpnou24GdczqhXAfF_1wNQVnIkhxaq-eH2EBCQ,2024
621
+ numpy/ma/tests/test_extras.py,sha256=5_eKiYJfbz82WVIBaeDY7Y9bVQkgDuu-UmriieSz39g,75260
622
+ numpy/ma/tests/test_mrecords.py,sha256=G9Rp8boPayW-X9F_wxxiHUVypfnXsHaLnbafvs-ScdU,19837
623
+ numpy/ma/tests/test_old_ma.py,sha256=Z-oxH4w4MtHSHNGxAllx8yRyE_JlA-cdUWum72RuFoU,33075
624
+ numpy/ma/tests/test_regression.py,sha256=_OvAuvcDPcd9PM7sdcnFGsSmtIzKhPYwIg6YWr2OTBY,2719
625
+ numpy/ma/tests/test_subclassing.py,sha256=l8IC5FZfGQycX2DLUZZgW3pMySdqg1nksq0AxsY-N4I,16970
626
+ numpy/ma/testutils.py,sha256=HWnz2sxyROWK7frc1aR2gYPMNsTUAE5eTgscjTJoNhw,10213
627
+ numpy/ma/testutils.pyi,sha256=G7wA2szCP3O85I8NmjS9tlK5sIOGxk8-2UjxP2IoI8g,2290
628
+ numpy/matlib.py,sha256=_S9N8S2NNsHGQUcloxrxABtJDejHiUyMdMJO7SayPkA,10638
629
+ numpy/matlib.pyi,sha256=3-xlXgMvD-3-PL4ROMeiq0Jy_MyjUQ8mIZOg8BbmVyU,9731
630
+ numpy/matrixlib/__init__.py,sha256=Ut6IqfjuA-kwwo6HBOYAgFjXXC_h7YV_3HyDsKM72dk,243
631
+ numpy/matrixlib/__init__.pyi,sha256=uE45-GpcYfecaODsFYAYOZSJyXUSvWt7oNGer-BO7As,88
632
+ numpy/matrixlib/defmatrix.py,sha256=wpw6lZU9X6qp8wAJokDXt2RBrL1eXqlmBt-ojIwYzlU,30875
633
+ numpy/matrixlib/defmatrix.pyi,sha256=hcnedDDfFMd8AEtLvPebDKQg2oTgaqLVTnrtP0-p4bg,11066
634
+ numpy/matrixlib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
635
+ numpy/matrixlib/tests/test_defmatrix.py,sha256=Ji8Ah5pdFJ8lHByI36PvTzQXk_NHgEucwjukcP1u1-w,14950
636
+ numpy/matrixlib/tests/test_interaction.py,sha256=BMpaAIeGOJ5EEHWuozBifN8l3Av5RO6jGoaPgdzTiqQ,11874
637
+ numpy/matrixlib/tests/test_masked_matrix.py,sha256=3cPMbFDq0-fUFNaCOhq4x7gf-eLqO_AA85kv4VIznUc,8822
638
+ numpy/matrixlib/tests/test_matrix_linalg.py,sha256=k6tobXFHjqbbhs3oTpCuCcx87ilJx0-zlOppOCzvj8o,2231
639
+ numpy/matrixlib/tests/test_multiarray.py,sha256=S5kjzsQR2YgT0qIGrNO1lUDl3o-h0EIdg_g3U3CnuRc,555
640
+ numpy/matrixlib/tests/test_numeric.py,sha256=hZ-r921WDG8Ck8KmT6ulgykjHU1QaGY6gprC2OPo-vg,447
641
+ numpy/matrixlib/tests/test_regression.py,sha256=XnfZ4RoTS49XMUyUlHVMc6wcWImNRja7DT1wTdEk428,934
642
+ numpy/polynomial/__init__.py,sha256=gGSwLNpPCpXfPgiJSsgVoVsJ0AS1c-_MWlGOeiG55sI,6726
643
+ numpy/polynomial/__init__.pyi,sha256=3RAJ_lqB4pwtaM17nDIOS3vZbLpf_WE_2scm2OUG_LU,712
644
+ numpy/polynomial/_polybase.py,sha256=b0kCiTgUm8D5QC_LWSm6yNvwC79npDAeksK0vQPciCQ,39358
645
+ numpy/polynomial/_polybase.pyi,sha256=Ww6khsXBlHNjYOO4BEeLXVoKCjsN3mVmV9o37Bj6HrQ,7767
646
+ numpy/polynomial/_polytypes.pyi,sha256=PJtNJETCsW36kz_ZOdUjy4_pzMzJHBdGrRPklxEXJ-k,16234
647
+ numpy/polynomial/chebyshev.py,sha256=FiEVmjrNVbhcYwG5UQEq9mqRBYTPhvGrkC_y6AsxRog,62286
648
+ numpy/polynomial/chebyshev.pyi,sha256=njbTTN9e1zWFGT8RrAKqmhs1GXE5eMgfj0MdntsnqMk,5098
649
+ numpy/polynomial/hermite.py,sha256=i8WMXgA47cJ5LiFKgHdVYpmhQyarus7aJrsE3r4Jbmo,54571
650
+ numpy/polynomial/hermite.pyi,sha256=lnTddHUp9hwd9ikb3Nw9-HuLko9l1q3jMJnUadh0KYM,2638
651
+ numpy/polynomial/hermite_e.py,sha256=JEw0ExZCNhHKWpj7C5SKP33QTr6I4wegTUyPu9UKyKM,52273
652
+ numpy/polynomial/hermite_e.pyi,sha256=W8Nsi4Cbk2QNM2fA56ohaV_4TaqboijWlYyqGDcL4LI,2705
653
+ numpy/polynomial/laguerre.py,sha256=LYVoI45ihTVXA7SvDf8H_KrAv_L6wFXdD7uj-DD21-s,52447
654
+ numpy/polynomial/laguerre.pyi,sha256=_lVqxTy63387n3qdO_XClzDYpTcKZExnvSivmQTs73c,2366
655
+ numpy/polynomial/legendre.py,sha256=ZWZ4kq7Ot-I5mCMD7Wy5EKBtI8jc88qsdPGy0MZaFg8,51102
656
+ numpy/polynomial/legendre.pyi,sha256=14Ea8cVOfUIE8hQswgyHuZBtEdrnGb1J8t-oOBTWucs,2366
657
+ numpy/polynomial/polynomial.py,sha256=nadD91M4ekHpLVbGxXYzB-g7iTK9yM4DlAjg95JsjP8,52669
658
+ numpy/polynomial/polynomial.pyi,sha256=vIvmRAKKX5X-SA-6WO5ooV3X_5KdK75XJTaY6vnbK10,2989
659
+ numpy/polynomial/polyutils.py,sha256=aAZJV6b0ZZYuK1IKDPHhiJgSmXV_eUikjXcUoTLHw7Y,22635
660
+ numpy/polynomial/polyutils.pyi,sha256=IbzSXpiUHxwKUIwJLYiVWd3qc3S07c00UFfvfYPFxNg,10494
661
+ numpy/polynomial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
662
+ numpy/polynomial/tests/test_chebyshev.py,sha256=XMnVK0Xc90aXl6kQ9Q9Wk1iQlYVfRUHmYf4hZNbXuYs,20629
663
+ numpy/polynomial/tests/test_classes.py,sha256=86ZXIGQm3CRSRRyn4jA4loEP2747F7IXEDi_i-3YHG4,18531
664
+ numpy/polynomial/tests/test_hermite.py,sha256=h_MR8bRD13dqWLUtmnHtD2BUmbz3Ho81deRQOnV4YFY,18666
665
+ numpy/polynomial/tests/test_hermite_e.py,sha256=0n4Cltd-NCow1N09yGiQ98mIfME4mVAuzuBHF4imUu0,19005
666
+ numpy/polynomial/tests/test_laguerre.py,sha256=ghgQMDC2o07JNsIk1-8h_MNNft2lqhsDAbKUhsPX2Rg,17616
667
+ numpy/polynomial/tests/test_legendre.py,sha256=fbrw7jfec86s5LInQYKmJLbyYBn2nwFD5oLbVadub6s,18784
668
+ numpy/polynomial/tests/test_polynomial.py,sha256=tKrml-0ryrpPkxoHDgBtM5TAcn5YkUX25U43dnnNc84,23564
669
+ numpy/polynomial/tests/test_polyutils.py,sha256=AdB5QjViCG2Ocl9Gq4ULhH1Kj7ceQdkR9DHLg8qO2oI,3759
670
+ numpy/polynomial/tests/test_printing.py,sha256=lPPk8cpK1FMr2S-mBc0pZ0IVeSrc0Tq_2jYmQ8bg_y8,21559
671
+ numpy/polynomial/tests/test_symbol.py,sha256=ShBdNg9cvYy31fQnrn4gprZUSD0shz5r8zlG8CEq7gs,5375
672
+ numpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
673
+ numpy/random/LICENSE.md,sha256=EDFmtiuARDr7nrNIjgUuoGvgz_VmuQjxmeVh_eSa8Z8,3511
674
+ numpy/random/__init__.pxd,sha256=9JbnX540aJNSothGs-7e23ozhilG6U8tINOUEp08M_k,431
675
+ numpy/random/__init__.py,sha256=WFzntztUVNaiXCpQln8twyL8HSFNS7XAWJlJsQXgbqk,7480
676
+ numpy/random/__init__.pyi,sha256=5X5UqSDkeruZafGWv9EnYb0RrjRs49r-TlzV3PPQOjs,2109
677
+ numpy/random/_bounded_integers.cpython-312-x86_64-linux-gnu.so,sha256=yq10JsUosoHQnbSiL-2lsitTKa40uEQHSUpnTa0P1h8,320104
678
+ numpy/random/_bounded_integers.pxd,sha256=SH_FwJDigFEInhdliSaNH2H2ZIZoX02xYhNQA81g2-g,1678
679
+ numpy/random/_bounded_integers.pyi,sha256=juqd9PbXs4yg45zMJ7BHAOPQjb7sgEbWE9InBtGZhfo,24
680
+ numpy/random/_common.cpython-312-x86_64-linux-gnu.so,sha256=m-K2auABLG0nhA0Mnhe3l5M3HVWTddLpEz-fSRB_lCc,257776
681
+ numpy/random/_common.pxd,sha256=MsWeOtfP_MKxRKtiGmggeAqNBDRjrV-OO5ArQ95kb1U,5046
682
+ numpy/random/_common.pyi,sha256=02dQDSAflunmZQFWThDLG3650py_DNqCmxjmkv5_XpA,421
683
+ numpy/random/_examples/cffi/extending.py,sha256=jpIL1njMhf0nehmlMHkgZkIxns2JC9GEDYgAChX87G8,884
684
+ numpy/random/_examples/cffi/parse.py,sha256=PK9vdUxwmvdnFvH3rOpgnnpISwnid7ri5XOmBrMWpJw,1750
685
+ numpy/random/_examples/cython/extending.pyx,sha256=ePnHDNfMQcTUzAqgFiEqrTFr9BoDmbqgjxzrDLvV8fE,2267
686
+ numpy/random/_examples/cython/extending_distributions.pyx,sha256=t7Gp7ZaEnqMafXCvctHWTxc3nS52rPbV2GgrMr27TIE,3844
687
+ numpy/random/_examples/cython/meson.build,sha256=GxZZT_Lu3nZsgcqo_7sTR_IdMJaHA1fxyjwrQTcodPs,1694
688
+ numpy/random/_examples/numba/extending.py,sha256=Z7Z_Xp7HPE4K5BZ7AwpZ29qvuftFAkvhMtNX53tlMMw,1959
689
+ numpy/random/_examples/numba/extending_distributions.py,sha256=fdePXeUj46yXK0MK1cszxUHQiOTiNuNsrbZqPw4AdGs,2036
690
+ numpy/random/_generator.cpython-312-x86_64-linux-gnu.so,sha256=7Ythie8WbDnsIiEQBw_x9544ItPKp_dTlQRg_xBFCho,809304
691
+ numpy/random/_generator.pyi,sha256=Z5ALhJM6Rp6KtlgV2gFrESOQstB-f5by7uMw-6aeT7k,24459
692
+ numpy/random/_mt19937.cpython-312-x86_64-linux-gnu.so,sha256=l79Msab2Rv_2iPY0UOozdgmnzSeqABw3fwYbW_mHaho,130384
693
+ numpy/random/_mt19937.pyi,sha256=bkRD-NDIdLCtxeaEJqESbMFqKQe4tnFOTf0tBIiyV_g,822
694
+ numpy/random/_pcg64.cpython-312-x86_64-linux-gnu.so,sha256=sAVrW1IOSUtISE2P2QqkZmk9-CvuDAg3M1HLjIjhTUE,145528
695
+ numpy/random/_pcg64.pyi,sha256=XWXz5nR8kbb04zUVb08Z2tjavwGacY2Gw2iUIdRKEeA,1173
696
+ numpy/random/_philox.cpython-312-x86_64-linux-gnu.so,sha256=1S8SM-_KdwekEIBq5kSH0geUVyjgjHW2XnIoZGr62II,121968
697
+ numpy/random/_philox.pyi,sha256=6bv9fiwlSF24XIt5rxJKOH1r2aoVSZeda8Orrs-lnj0,1013
698
+ numpy/random/_pickle.py,sha256=Lt47ma_vnnJHdnQlc5jZ_DqBHsdKi0QiUNaIkMf95qA,2742
699
+ numpy/random/_pickle.pyi,sha256=5obQY7CZRLMDjOgRtNgzV_Bg5O9E8DK_G74j7J7q6qo,1608
700
+ numpy/random/_sfc64.cpython-312-x86_64-linux-gnu.so,sha256=FJq46NEQyqbnCACbPwUDu1p6-KJHOkFcz7ej3X-xjdc,91560
701
+ numpy/random/_sfc64.pyi,sha256=6yiVeSJlPC-dPelVwexZFsTFBZ1VORnBHKkwx62IEtg,691
702
+ numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so,sha256=aTYqP2wL185ADCVE_pJGcW-k2oWQ-DAGoWNAtERIDtE,218168
703
+ numpy/random/bit_generator.pxd,sha256=X22hiI1BY-S-V9hdN4k7ToXqvo1JFEY4xf3PJVfXwx0,1204
704
+ numpy/random/bit_generator.pyi,sha256=XR7Q7lD76PFehuurcx7bkmf5Hs3uMQ6oBvB8kwZ6jdY,3603
705
+ numpy/random/c_distributions.pxd,sha256=UCtqx0Nf-vHuJVaqPlLFURWnaI1vH-vJRE01BZDTL9o,6335
706
+ numpy/random/lib/libnpyrandom.a,sha256=udfRF1Hd8A8dfVOEgh39ic_vp4oqrfXgfmGF1gcL-20,70870
707
+ numpy/random/mtrand.cpython-312-x86_64-linux-gnu.so,sha256=z53naZe4hkfOrNaHiQsgvMEg4vYB7IUy3jb2O3xVwz4,627664
708
+ numpy/random/mtrand.pyi,sha256=I_SrqLi1JeDH4bML9gcMOx9X45_OqKpQsl5a_IYM-TU,23801
709
+ numpy/random/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
710
+ numpy/random/tests/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
711
+ numpy/random/tests/data/generator_pcg64_np121.pkl.gz,sha256=EfQ-X70KkHgBAFX2pIPcCUl4MNP1ZNROaXOU75vdiqM,203
712
+ numpy/random/tests/data/generator_pcg64_np126.pkl.gz,sha256=fN8deNVxX-HELA1eIZ32kdtYvc4hwKya6wv00GJeH0Y,208
713
+ numpy/random/tests/data/mt19937-testset-1.csv,sha256=Xkef402AVB-eZgYQkVtoxERHkxffCA9Jyt_oMbtJGwY,15844
714
+ numpy/random/tests/data/mt19937-testset-2.csv,sha256=nsBEQNnff-aFjHYK4thjvUK4xSXDSfv5aTbcE59pOkE,15825
715
+ numpy/random/tests/data/pcg64-testset-1.csv,sha256=xB00DpknGUTTCxDr9L6aNo9Hs-sfzEMbUSS4t11TTfE,23839
716
+ numpy/random/tests/data/pcg64-testset-2.csv,sha256=NTdzTKvG2U7_WyU_IoQUtMzU3kEvDH39CgnR6VzhTkw,23845
717
+ numpy/random/tests/data/pcg64dxsm-testset-1.csv,sha256=vNSUT-gXS_oEw_awR3O30ziVO4seNPUv1UIZ01SfVnI,23833
718
+ numpy/random/tests/data/pcg64dxsm-testset-2.csv,sha256=uylS8PU2AIKZ185OC04RBr_OePweGRtvn-dE4YN0yYA,23839
719
+ numpy/random/tests/data/philox-testset-1.csv,sha256=SedRaIy5zFadmk71nKrGxCFZ6BwKz8g1A9-OZp3IkkY,23852
720
+ numpy/random/tests/data/philox-testset-2.csv,sha256=dWECt-sbfvaSiK8-Ygp5AqyjoN5i26VEOrXqg01rk3g,23838
721
+ numpy/random/tests/data/sfc64-testset-1.csv,sha256=iHs6iX6KR8bxGwKk-3tedAdMPz6ZW8slDSUECkAqC8Q,23840
722
+ numpy/random/tests/data/sfc64-testset-2.csv,sha256=FIDIDFCaPZfWUSxsJMAe58hPNmMrU27kCd9FhCEYt_k,23833
723
+ numpy/random/tests/data/sfc64_np126.pkl.gz,sha256=MVa1ylFy7DUPgUBK-oIeKSdVl4UYEiN3AZ7G3sdzzaw,290
724
+ numpy/random/tests/test_direct.py,sha256=R0m_cGJKYLhUGCxuCoVZ6Rx3ChypNcotRiMnr7rvzRY,20023
725
+ numpy/random/tests/test_extending.py,sha256=CQiEl6HpgmH6jO_FaT-XJozJvKEeBlidToHYIMGpiWU,4689
726
+ numpy/random/tests/test_generator_mt19937.py,sha256=L9ct9nCVlbPRcMzbcoSqJ4jMuNImQm41OTWrISHE3As,118860
727
+ numpy/random/tests/test_generator_mt19937_regressions.py,sha256=ii7W5tsNJNm8YaufSqIZyFrei2Yhh_Xq3yDZf6c0KlQ,8638
728
+ numpy/random/tests/test_random.py,sha256=8xyABUg7BzP5iG2DoizSGvpwG-JFOZsEnywCzJJ1NZA,71278
729
+ numpy/random/tests/test_randomstate.py,sha256=aK21GPQiVgJfNWk3TgL3irBX90jjipQWjAT18p8-6Ik,87749
730
+ numpy/random/tests/test_randomstate_regression.py,sha256=H9EvishjtZ0PHJf-MTGULOibpcl1PveQyZW9nodlJJ4,8047
731
+ numpy/random/tests/test_regression.py,sha256=Ox9Z5Q7eHS8ZbF69VWPwclmZcTUaL-vIOujlqu3uyNo,6324
732
+ numpy/random/tests/test_seed_sequence.py,sha256=0lb4LRofbt_wHO-Cs_d1hwp1WcWjOmxH-OePkXST5bc,3310
733
+ numpy/random/tests/test_smoke.py,sha256=WU5KNpwEYK9Pox35i9zLOmxEsP3SSX_fOLboasZvq0A,29935
734
+ numpy/rec/__init__.py,sha256=kNAYYoSAA0izpUVRb-18sJw-iKtFq2Rl2U5SOH3pHRM,83
735
+ numpy/rec/__init__.pyi,sha256=1ZL2SbvFSaoXwOK-378QQ0g0XldOjskx2E2uIerEGUI,347
736
+ numpy/strings/__init__.py,sha256=o27wHW8jGaUfbDopSyEmYD6Rjeo33AzkGBBTgWrlGH4,83
737
+ numpy/strings/__init__.pyi,sha256=JP8YQR3xZ_mPMdQax7QSR2cZ-N-V7ZDqvOcWIIUP_54,1319
738
+ numpy/testing/__init__.py,sha256=Eqe-Ox-3JSqk6QRnnPPFLCW9Ikqv9OuJDhnm2uGM3zc,581
739
+ numpy/testing/__init__.pyi,sha256=Avi7mmpPSuQ-lXCkAFdEOTG-Dfc3yOkdVIb07d8XqUY,2188
740
+ numpy/testing/_private/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
741
+ numpy/testing/_private/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
742
+ numpy/testing/_private/extbuild.py,sha256=Lg1sqA94Q74Ki5u-sx0PEj7urr3YP470-BCiyvJwExQ,7716
743
+ numpy/testing/_private/extbuild.pyi,sha256=AO2r2DVbl2A9EyytVQLIYAgvuIheYGn1pkdLRL38XY4,653
744
+ numpy/testing/_private/utils.py,sha256=BRThby2wIV_tYE-zAVuuOWzp_yBHbCfsOV0ee9B4ZJE,98720
745
+ numpy/testing/_private/utils.pyi,sha256=zFx9zp48JtI7q3053gcQYP3Nzxm8uHlicF21xqN2_ds,13225
746
+ numpy/testing/overrides.py,sha256=B8Y8PlpvK71IcSuoubXWj4L5NVmLVSn7WMg1L7xZO8k,2134
747
+ numpy/testing/overrides.pyi,sha256=QnD0JIqDuMNBBuUWlnaob0iH-Yph_RJ75PN3VaoQE_8,396
748
+ numpy/testing/print_coercion_tables.py,sha256=SboNmCLc5FyV-UR8gKjJc2PIojN1XQTvH0WzDq75M2M,6286
749
+ numpy/testing/print_coercion_tables.pyi,sha256=6U4zC30kUt0N-zfWDi4B335rhqqkpkvd2gLJEAEboBQ,820
750
+ numpy/testing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
751
+ numpy/testing/tests/test_utils.py,sha256=YycdercfBDR8P1VodVeRKcHiV4n795wMr9JY2euR7u4,79701
752
+ numpy/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
753
+ numpy/tests/test__all__.py,sha256=AXbT9VmRSTYq9beba4d1Eom_V9SVXXEtpkBdEW2XCqU,222
754
+ numpy/tests/test_configtool.py,sha256=VW0j4Gz85t59DGOwpkkY9ID0ySPLkY6s9HLCDlEfvDI,1812
755
+ numpy/tests/test_ctypeslib.py,sha256=bDXPMKE5QeCbx2M6uOi8ZHXz50Z8O4nM0P6jl5asrl0,12832
756
+ numpy/tests/test_lazyloading.py,sha256=Q5eGTVhKUEbVEeMsZLbhOGJVqOoAEStqmQxnnFIRMmA,1262
757
+ numpy/tests/test_matlib.py,sha256=RMduSGHBJuVFmk__Ug_hVeGD4-Y3f28G0tlDt8F7k7c,1854
758
+ numpy/tests/test_numpy_config.py,sha256=6HEKDmDiUbR0DQgZoaexOO3yUvDhc0RRPsI46hjcUvQ,1317
759
+ numpy/tests/test_numpy_version.py,sha256=6PIeISx9_Hglpxc3y6KugeAgB4eBkuZC-DFlXt4LocA,1744
760
+ numpy/tests/test_public_api.py,sha256=vm_hTRCjemI0bNh6PJYlV9SQhAlQvb5C1GWMGgGpqjU,28006
761
+ numpy/tests/test_reloading.py,sha256=iWtE_3oVxP1TOQuLkW42DFz4MkpNhkxIo_WAwt5gHcU,2686
762
+ numpy/tests/test_scripts.py,sha256=zcAXeR6bh7GxziiBwT3zZYfJFj5rp6g3N4qeqsVXp6o,1646
763
+ numpy/tests/test_warnings.py,sha256=M6Lm_sMUhnbOEOQhYiU5tE43bzw_aTxDe-sK4ADqxn8,2420
764
+ numpy/typing/__init__.py,sha256=ZYukeVOoCg2n22QIoaeN_aPNU4IopY3Lv4VA9m4oQAc,6984
765
+ numpy/typing/__init__.pyi,sha256=WrtkmxvNpaorl5oK7LLtZv-1FnxjRKJvd_PJLUSLfNY,127
766
+ numpy/typing/mypy_plugin.py,sha256=HXrRGoCkYUcctW4GIToBx_qXPfZyG2F3I6TvnaLFSlg,6846
767
+ numpy/typing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
768
+ numpy/typing/tests/data/fail/arithmetic.pyi,sha256=GucPv-BYaNDz4h7PcwC-rZCijw-SdcRsZTKuA7Q512A,3686
769
+ numpy/typing/tests/data/fail/array_constructors.pyi,sha256=nxqn0ddXib4l1Vh14ERhiHjV35WyFhG83a0XfMFKBGE,1200
770
+ numpy/typing/tests/data/fail/array_like.pyi,sha256=klBpaBcONODcPC1LztdVZ3UuIPwXN8kUK_e9s_QnZoo,496
771
+ numpy/typing/tests/data/fail/array_pad.pyi,sha256=mt-nhrs6f4YP7xgXizti7k_AwFAJ50yK97fMrMAAEds,137
772
+ numpy/typing/tests/data/fail/arrayprint.pyi,sha256=8z4sszXe3Etx8ZyFwQlj1VzL7pGKW1CrlxyppoVixJQ,528
773
+ numpy/typing/tests/data/fail/arrayterator.pyi,sha256=9Y8aD2lkDO7UcLo9ySR0pnVz0p2ofl2Lq4XTHgoMXxA,463
774
+ numpy/typing/tests/data/fail/bitwise_ops.pyi,sha256=bbf3PYQfTp4oWEdkqHyjWUlL28w_CI5w66-3UC91kYc,380
775
+ numpy/typing/tests/data/fail/char.pyi,sha256=h8PmTU-ncG7cYsxqz2kxvh1oGgtpHVk8l_KGTmiEQvw,2674
776
+ numpy/typing/tests/data/fail/chararray.pyi,sha256=lBl4HeoqkAZQb5yHu5-LrfbuqledTamnAxXAioc-BaM,2249
777
+ numpy/typing/tests/data/fail/comparisons.pyi,sha256=sxC1-BItC7D39Ac1Rs4jaZnCRrrHt1uLHY94DNzBVbY,736
778
+ numpy/typing/tests/data/fail/constants.pyi,sha256=OHaBJo6GYW94BlUWKQDat5jiit5ZAy_h-5bb1WUJnLU,78
779
+ numpy/typing/tests/data/fail/datasource.pyi,sha256=WFikGdZEajMOV15IUhz2L_TF7Unp5_WqEXHyWHYVaUo,420
780
+ numpy/typing/tests/data/fail/dtype.pyi,sha256=crqAVZmBYLYV9N-ihiOnKCY1QK4iTxX7J4Tviac2Vq4,305
781
+ numpy/typing/tests/data/fail/einsumfunc.pyi,sha256=4QWkwE4sr5bKz5-OCjPzeUcr4V-wpaMsqee2PXDwyjw,458
782
+ numpy/typing/tests/data/fail/flatiter.pyi,sha256=WV9Hd1f5-y7cu9_HGNF8zv_UEN3ejw4O2tOAUpotbgE,1131
783
+ numpy/typing/tests/data/fail/fromnumeric.pyi,sha256=cCKir-HY65-IkVf0Ez1d-gSEuEnAFzElOkhKqy6EAqQ,5688
784
+ numpy/typing/tests/data/fail/histograms.pyi,sha256=wgI2CG-P0jbDw4KohR_nbJxqa34PT1e6nmnLi9KbPQM,376
785
+ numpy/typing/tests/data/fail/index_tricks.pyi,sha256=RNZLHeMOpSX594Eem4WyJrM_QouqndGRVj2YQakJN-E,517
786
+ numpy/typing/tests/data/fail/lib_function_base.pyi,sha256=o-LEak8T8b3zpNebJaQuKa6meECYz0duR_Mtb_Mw5xM,2663
787
+ numpy/typing/tests/data/fail/lib_polynomial.pyi,sha256=Y3jlwigvtr5tFEHvr3SgguMVsYZe8cvsdgKcavgfucs,937
788
+ numpy/typing/tests/data/fail/lib_utils.pyi,sha256=6Oc_wYI0mv0l74p4pEiVtKjkWFNg4WmXjGW7_2zEKS4,98
789
+ numpy/typing/tests/data/fail/lib_version.pyi,sha256=BvABs2aeC6ZHUGkrsowu80Ks22pbxUMwSPJ8c5i7H14,154
790
+ numpy/typing/tests/data/fail/linalg.pyi,sha256=aD_uyv64BR3190FjC8V8Z832eO3K9PjDXuSrH98OYFc,1540
791
+ numpy/typing/tests/data/fail/ma.pyi,sha256=PJeufmU7W-oFICUS0_wEXwF3MNxliVwmf4uLJDF7Q44,7006
792
+ numpy/typing/tests/data/fail/memmap.pyi,sha256=uXPLcVx726Bbw93E5kdIc7K0ssvLIZoJfNTULMtAa_8,169
793
+ numpy/typing/tests/data/fail/modules.pyi,sha256=mEBLIY6vZAPIf2BuyJcMAR-FarSkT55FRlusrsR0qCo,603
794
+ numpy/typing/tests/data/fail/multiarray.pyi,sha256=yHky9eaLYhRym8Dzp5KkJsSwIxqZAn4LVCyAS7vln_c,1666
795
+ numpy/typing/tests/data/fail/ndarray.pyi,sha256=65IDiOprlv-sg375SBmmh6_hYOzlucTVLe42GymniGM,381
796
+ numpy/typing/tests/data/fail/ndarray_misc.pyi,sha256=AsXRLQZ4iKDO8eCYTobItSJan8Fg5tKdZ-WJt2CgXzU,1402
797
+ numpy/typing/tests/data/fail/nditer.pyi,sha256=Ng75GyVOdKGGmeKaaP68oAGKoGvqPwOpBj-h1sn1LMg,324
798
+ numpy/typing/tests/data/fail/nested_sequence.pyi,sha256=r1OLdEm5Q3vsJWSsbTeIuP1G3meZC0HRMy5ODSfkoMI,464
799
+ numpy/typing/tests/data/fail/npyio.pyi,sha256=NuDTuDApJB2b8zzVcVlD-UAP_yycIlTfMGEOlQAf55g,602
800
+ numpy/typing/tests/data/fail/numerictypes.pyi,sha256=NJxviXTJIaDoz7q56dBrHCBNNG-doTu-oIryzwURxHQ,124
801
+ numpy/typing/tests/data/fail/random.pyi,sha256=IvKXQuxZhuK6M0u2x3Y4PhXvLoC8OFnUdoeneaqDiIE,2903
802
+ numpy/typing/tests/data/fail/rec.pyi,sha256=eeFXVvVg4DherRMA1T8KERtTiRN1ZIbarw4Yokb8WrU,741
803
+ numpy/typing/tests/data/fail/scalars.pyi,sha256=rZeTalHQvC1pAqbg2Gp5MiH3_cm2bsItMSlfVWCtm3s,2838
804
+ numpy/typing/tests/data/fail/shape.pyi,sha256=IFEyf5l-CMN2QbEQmCtvN8zMPjNzZs1VY2YGRO15lzU,132
805
+ numpy/typing/tests/data/fail/shape_base.pyi,sha256=8366-8mCNii1D0W6YrOhCNxo8rrfqQThO-dIVWNRHvA,157
806
+ numpy/typing/tests/data/fail/stride_tricks.pyi,sha256=g7-DY8Zc8pzTDyOBA-8t6yIFj1FZI9XpvVdbybQN2i0,330
807
+ numpy/typing/tests/data/fail/strings.pyi,sha256=wX9ROrRNhpH9g_ewNGjWuTKU-He4xaNxrtz2Dm3iPo8,2333
808
+ numpy/typing/tests/data/fail/testing.pyi,sha256=m8d2OZZ1DtsHfmnTwvdMRETUfo0lwRzaOXjuyNi08PQ,1399
809
+ numpy/typing/tests/data/fail/twodim_base.pyi,sha256=axQ6ZXCzStPbdTL1pTwL87jeFVA6lD5uB5szXp4zgis,1132
810
+ numpy/typing/tests/data/fail/type_check.pyi,sha256=HcoyUQqSm_jR2U1xJp4ksPGRwenahQ7helU_M2Wr3aU,370
811
+ numpy/typing/tests/data/fail/ufunc_config.pyi,sha256=v5rd68Y2TzLplIOaOXM4h66HqSv8XbapR0b3xaoUOdQ,589
812
+ numpy/typing/tests/data/fail/ufunclike.pyi,sha256=ejCb6kb7mmxPH0QrDsYfdFSLLPFKx0IZ9xSLs3YXOzg,649
813
+ numpy/typing/tests/data/fail/ufuncs.pyi,sha256=XBoxO597ponBkFcCfwCS3s-jKfcnDzC_K5n2uBPrD6E,505
814
+ numpy/typing/tests/data/fail/warnings_and_errors.pyi,sha256=SoFIznFd_xDifIsS0pv0aqS2BvhZaT6xsOA0zJrRJkA,200
815
+ numpy/typing/tests/data/misc/extended_precision.pyi,sha256=b3gWM2KD6R4ygZ8gVbUn3SzlI8ESVLDqu-jv3dzJCrs,322
816
+ numpy/typing/tests/data/mypy.ini,sha256=q0d9xXv3Aw7JngPw-7Eq8rp4QqYITitF5iIFssWSmZM,214
817
+ numpy/typing/tests/data/pass/arithmetic.py,sha256=XOIN-j_AWzQAd9Cn3vWy-bRIgS2-LlvKESUsO3b05X0,7766
818
+ numpy/typing/tests/data/pass/array_constructors.py,sha256=RJmnBjJm46HG9uta7-r-1Hj_KE2r9LWSSt-HMrELEYc,2448
819
+ numpy/typing/tests/data/pass/array_like.py,sha256=6lURYraBGwvbryoFWeQW86THkyuuetCjlREebB67uXQ,1032
820
+ numpy/typing/tests/data/pass/arrayprint.py,sha256=y_KkuLz1uM7pv53qfq7GQOuud4LoXE3apK1wtARdVyM,766
821
+ numpy/typing/tests/data/pass/arrayterator.py,sha256=G6DdNEUdJGQNJivPimcpZxJHfs0ko0hJ0rXL4YD52xQ,394
822
+ numpy/typing/tests/data/pass/bitwise_ops.py,sha256=-f3myeJItUjoO0CJXBwIDwYg4hYChsDNK7rSVpcMpMU,959
823
+ numpy/typing/tests/data/pass/comparisons.py,sha256=E_04eHbZepqrQLd8L8LgWcf-jbwzOzXPqL2pgR4GGKs,3290
824
+ numpy/typing/tests/data/pass/dtype.py,sha256=YDuYAb0oKoJc9eOnKJuoPfLbIKOgEdE04_CYxRS4U5I,1070
825
+ numpy/typing/tests/data/pass/einsumfunc.py,sha256=eXj5L5MWPtQHgrHPsJ36qqrmBHqct9UoujjJCvHnF1k,1370
826
+ numpy/typing/tests/data/pass/flatiter.py,sha256=6FdiXareijs-u7RT5iEWMDZKG29I7Dnl3pTr0xMBDO4,262
827
+ numpy/typing/tests/data/pass/fromnumeric.py,sha256=d_hVLyrVDFPVx33aqLIyAGYYQ8XAJFIzrAsE8QCoof4,3991
828
+ numpy/typing/tests/data/pass/index_tricks.py,sha256=IEd1ndXmwPCS3EazMlcP7Fqc0fso4SJ3Vuk7d_UefL0,1404
829
+ numpy/typing/tests/data/pass/lib_user_array.py,sha256=iPekSN75_sVhMPNZKOlFLW1h8Ms2mYA-syd_keWus_4,618
830
+ numpy/typing/tests/data/pass/lib_utils.py,sha256=bj1sEA4gsmezqbYdqKnVtKzY_fb64w7PEoZwNvaaUdA,317
831
+ numpy/typing/tests/data/pass/lib_version.py,sha256=HnuGOx7tQA_bcxFIJ3dRoMAR0fockxg4lGqQ4g7LGIw,299
832
+ numpy/typing/tests/data/pass/literal.py,sha256=6vsoM0_1WMfyPz8IFfugoSWI9qzPmh1Dj0hTS63TBR8,1509
833
+ numpy/typing/tests/data/pass/ma.py,sha256=Yy9iA2sgjOSVV0QD0mMbpsCZcgK9g4A6lvz6sZm0GRg,3922
834
+ numpy/typing/tests/data/pass/mod.py,sha256=PAjtQaBUsQt-7HeLZtfdmXSfLootcLOR4E-ZwtGbkUc,1571
835
+ numpy/typing/tests/data/pass/modules.py,sha256=g9PhyLO6rflYHZtmryx1VWTubphN4TAPUSfoiYriTqE,625
836
+ numpy/typing/tests/data/pass/multiarray.py,sha256=cObMKG9COfs2V9b2Be25NX8s0A6Z6Fk1pePAFjeyfUw,1379
837
+ numpy/typing/tests/data/pass/ndarray_conversion.py,sha256=Yo4qZOXs9ZkHxOqEDnbsDo2VXF4E2E_RZFud2t9-RmU,1449
838
+ numpy/typing/tests/data/pass/ndarray_misc.py,sha256=wRRe7KXemAEv-x6RHyhsKG-r-8SHWukHZiX4phWmhNQ,3356
839
+ numpy/typing/tests/data/pass/ndarray_shape_manipulation.py,sha256=37eYwMNqMLwanIW9-63hrokacnSz2K_qtPUlkdpsTjo,640
840
+ numpy/typing/tests/data/pass/nditer.py,sha256=nYO45Lw3ZNbQq75Vht86zzLZ4cWzP3ml0rxDPlYt8_8,63
841
+ numpy/typing/tests/data/pass/numeric.py,sha256=gxbzAQZ_83oc9CaQou2DaQZHHWVFJCq0oJXwEvaz7Gc,1492
842
+ numpy/typing/tests/data/pass/numerictypes.py,sha256=6x6eN9-5NsSQUSc6rf3fYieS2poYEY0t_ujbwgF9S5Q,331
843
+ numpy/typing/tests/data/pass/random.py,sha256=IMHFGUy2GLzJcGkz6A6bYNYnO5yfLr0IZql-cENXPsA,61825
844
+ numpy/typing/tests/data/pass/recfunctions.py,sha256=WSAurMALWvz8559jEvGAZ4oFz3isrgbq7AdulyHqb6A,4974
845
+ numpy/typing/tests/data/pass/scalars.py,sha256=U7qLMrQia_8nyn9knImRhZVaSS_DXB865qotjosyxfY,3725
846
+ numpy/typing/tests/data/pass/shape.py,sha256=GDv16_GTcvhhDMTBrGFveGqpq9HKo-ybGo0b_xc03do,439
847
+ numpy/typing/tests/data/pass/simple.py,sha256=34J0fNGYvZR6WCrCnCIq6v1w357d5-kfYyoj55LJ1bA,2755
848
+ numpy/typing/tests/data/pass/ufunc_config.py,sha256=uzXOhCl9N4LPV9hV2Iqg_skgkKMbBPBF0GXPU9EMeuE,1205
849
+ numpy/typing/tests/data/pass/ufunclike.py,sha256=3BHtJxGyhqx0mglBPywofC3PYsKTuHhhrGY9ZrvwR5Y,1351
850
+ numpy/typing/tests/data/pass/ufuncs.py,sha256=1Rem_geEm4qyD3XaRA1NAPKwr3YjRq68zbIlC_Xhi9M,422
851
+ numpy/typing/tests/data/pass/warnings_and_errors.py,sha256=ETLZkDTGpZspvwjVYAZlnA1gH4PJ4bSY5PkWyxTjusU,161
852
+ numpy/typing/tests/data/reveal/arithmetic.pyi,sha256=xpIyyBZRagV9vPJZA-XmmO5Tl8tkcOofripP1RfNVuM,26799
853
+ numpy/typing/tests/data/reveal/array_api_info.pyi,sha256=oWKW0yGS9xKcLZnH2QeeixMBcI74dNIcwZr0bwGmDVM,3017
854
+ numpy/typing/tests/data/reveal/array_constructors.pyi,sha256=-ZWL90FMWF0hRpk9hiasdF2C09AJklMGE0DWpKDgXCY,14763
855
+ numpy/typing/tests/data/reveal/arraypad.pyi,sha256=wQOb5ud_6_nhI2TYJ6Nsq4M5FmtjiGRggQeOLLggFYU,904
856
+ numpy/typing/tests/data/reveal/arrayprint.pyi,sha256=w2b9_EGKYZx8_yIFF8FyI-mZA4D460dHY4UhaO3rmi8,772
857
+ numpy/typing/tests/data/reveal/arraysetops.pyi,sha256=Hhe49rLgj0P8SXElncNvLeCv1OqdI-iryB_673w7vL4,4411
858
+ numpy/typing/tests/data/reveal/arrayterator.pyi,sha256=WVgpJLcATV7QF7CaSc-Ee_TZG7LbrD2hhbdsdJEwzmQ,1027
859
+ numpy/typing/tests/data/reveal/bitwise_ops.pyi,sha256=yJdi07gYg_yEZU4GAplUeu-nJ99S16QD9lxbjiNzUuk,4637
860
+ numpy/typing/tests/data/reveal/char.pyi,sha256=c1UlZEhsEAlUuQe42W2J0UKlXML1pK12tbcxiGzClaA,11552
861
+ numpy/typing/tests/data/reveal/chararray.pyi,sha256=HrRlIsm3wMdI-iVC4_NQVz_1boN8CFiGheFu9QhLBlQ,5265
862
+ numpy/typing/tests/data/reveal/comparisons.pyi,sha256=0pyVy1A2brPrD1pmCYZCEN5EiMxSHhQFaU0eUjiPc44,7181
863
+ numpy/typing/tests/data/reveal/constants.pyi,sha256=AazwlvF--Te1dt35f8lkDLNuo3jQXqmGvddDQ37jAE0,333
864
+ numpy/typing/tests/data/reveal/ctypeslib.pyi,sha256=U9ZO5GnGHxVyv-OWRYWHSXctH7LGHPWDdyNVl_saQEQ,4134
865
+ numpy/typing/tests/data/reveal/datasource.pyi,sha256=B9nCoOPE4fJvBIeInAgUCg5pIsr8IYOu_iToqt6n-Nc,583
866
+ numpy/typing/tests/data/reveal/dtype.pyi,sha256=v9zXxdAU0Dh0Y6ljXDkOy0gnDBe4MbaZsb2ui1r6j5I,4733
867
+ numpy/typing/tests/data/reveal/einsumfunc.pyi,sha256=qPYk5W3lardDdgsQIGyu356iIGDnb0P38UKQDXWQlrk,1926
868
+ numpy/typing/tests/data/reveal/emath.pyi,sha256=fcf0-GftYRByfJFuZC-MvzHlQU4A-f9-kPnxzQt48E0,2125
869
+ numpy/typing/tests/data/reveal/fft.pyi,sha256=uZOJ0ljmmnejfPEwMsfUGDb52NOuTh7Npl7ONwx-Y2k,1601
870
+ numpy/typing/tests/data/reveal/flatiter.pyi,sha256=zyMYyEgks-cNYYUViz-Eg_jeDE_bTXDwT6_gVDFo2bU,3262
871
+ numpy/typing/tests/data/reveal/fromnumeric.pyi,sha256=Eua2w6SS-YHlXoPmbx-TJMNe7Ky9ihZrnJfywOLVCCA,15179
872
+ numpy/typing/tests/data/reveal/getlimits.pyi,sha256=zV_MSaLRwzckxfM3NN4lVkZ-BmOCLnnny5xTNEXPmWA,1586
873
+ numpy/typing/tests/data/reveal/histograms.pyi,sha256=Mr7P7JYMWF9jM6w5othyzh8CN3ygd2A-WRoB4jImnzk,1257
874
+ numpy/typing/tests/data/reveal/index_tricks.pyi,sha256=4dvG8RXY5ktKXo1uC_pfPHXBDd7tatTbjCs8xr8M2os,3241
875
+ numpy/typing/tests/data/reveal/lib_function_base.pyi,sha256=1dgd6osocC6MLmaRuEsYJ0KbARz0wZG2NYcqAihFUNs,19963
876
+ numpy/typing/tests/data/reveal/lib_polynomial.pyi,sha256=dpw6fehZACkcWW_ydBKG6H9E0O7xjgdIbOQ4iGcCXlo,5702
877
+ numpy/typing/tests/data/reveal/lib_utils.pyi,sha256=oQCay2NF8pYHD5jNgRZKNjn8uJW4TJqUPIlytOwDSi0,436
878
+ numpy/typing/tests/data/reveal/lib_version.pyi,sha256=y4ZJSLEeS273Zd6fqaE2XNdczTS0-cwIJ2Yn_4Otm44,572
879
+ numpy/typing/tests/data/reveal/linalg.pyi,sha256=Kj3BGRssY-OhBGLXRLJof0B2cbYmTis1fxCqOEYv11A,7192
880
+ numpy/typing/tests/data/reveal/ma.pyi,sha256=C58mGDYVJf7TkRX6iGZPsy4spNjqQYqJ0AT15GASEu8,50608
881
+ numpy/typing/tests/data/reveal/matrix.pyi,sha256=bGUljQb5nqjMzghlxg57IFbXhWNjaQorUiW3Tz-6Edc,2830
882
+ numpy/typing/tests/data/reveal/memmap.pyi,sha256=OCcEhR5mvvXk4UhF6lRqmkxU2NcAqJ4nqAuBpcroQ1g,719
883
+ numpy/typing/tests/data/reveal/mod.pyi,sha256=THGQkngaOD0fxKr6LC6D76eByu7P_ky-LWUK8Bc3cm8,7178
884
+ numpy/typing/tests/data/reveal/modules.pyi,sha256=_Gvxgql5KbJFL1Mj5gFAphzyGC44AkuNZLnYkv-3LRA,1858
885
+ numpy/typing/tests/data/reveal/multiarray.pyi,sha256=s3VNstzDaTAVu59_aZIVggUa4DTMXNfQr1VhLEYSUbQ,8053
886
+ numpy/typing/tests/data/reveal/nbit_base_example.pyi,sha256=tJwOCuoOtoXY4iCUhp16AjDzV2qwZfNep5gtdeRiWZ8,674
887
+ numpy/typing/tests/data/reveal/ndarray_assignability.pyi,sha256=I5w0Y0Q5qUU7a-OhB3VeNcrD_zCI3XEEANlkis6WHUE,2911
888
+ numpy/typing/tests/data/reveal/ndarray_conversion.pyi,sha256=XRYlocES5qrAJ6T-U0V_FMWhN3wn4krYSnIs_KBoHMk,3252
889
+ numpy/typing/tests/data/reveal/ndarray_misc.pyi,sha256=BTEDCNfBGS_zvG_hG80PKccTz77dIxy3KIzC-Xb-nJc,8691
890
+ numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi,sha256=5z-mfTFUzQUzCcYx7PDGLWG6z9Sy1xn6sFWNHNPJw5U,1698
891
+ numpy/typing/tests/data/reveal/nditer.pyi,sha256=yih7UE0OynR7GuVCGgwhzjTjARwOXikDe6Dr4ymRC2g,1898
892
+ numpy/typing/tests/data/reveal/nested_sequence.pyi,sha256=Z2vwweUjoqxR0zUUldOUXsg6mkDfDP1BMyFV2hje5Z8,612
893
+ numpy/typing/tests/data/reveal/npyio.pyi,sha256=m1XZsYCBIHKeS-1JWQm2mY7nb_iHzU4mtwi2CMC4r4c,3500
894
+ numpy/typing/tests/data/reveal/numeric.pyi,sha256=yKygW6XCcYYtODKeQxbuGmwDQLUwYWu5Jzdi29IXboQ,9072
895
+ numpy/typing/tests/data/reveal/numerictypes.pyi,sha256=8XB1qex01lga6r0hXaNh6X6MCBjPZM2DYpSVBgBicIg,568
896
+ numpy/typing/tests/data/reveal/polynomial_polybase.pyi,sha256=QoSd2zNnvn54V0HYr4HiHHJ21Hum3nY9SuPPeswEyIo,7626
897
+ numpy/typing/tests/data/reveal/polynomial_polyutils.pyi,sha256=U_zqcmHRzwEVXt_xJ8Jyc2kWfzCKTWkebiiQMuuABws,10619
898
+ numpy/typing/tests/data/reveal/polynomial_series.pyi,sha256=vSmOxVgQzlhbTy8pW1nAMZvnq3vc9iP_GUQeRx4ES4o,6880
899
+ numpy/typing/tests/data/reveal/random.pyi,sha256=xXJobSp5nVBelmrBO_OTvV8XQnbnZjbAyJfrRwlJshg,104296
900
+ numpy/typing/tests/data/reveal/rec.pyi,sha256=E8lxkOQ4qSwwX20Y4d438s5g-kTnNARsZc4f-Y8OhZo,3378
901
+ numpy/typing/tests/data/reveal/scalars.pyi,sha256=Vxmp_X8UWxG9js_Pw7t9l-XOs5xxMhZL-Fu2ygwhJuY,6378
902
+ numpy/typing/tests/data/reveal/shape.pyi,sha256=ZT6e5LW4nU90tA-Av5NLiyoaPW9NIX_XkWJ-LOOzh84,262
903
+ numpy/typing/tests/data/reveal/shape_base.pyi,sha256=xbnt0jps1djVxVMn4Lj8bxGl-mGvbhqSKFVWYcFApLg,2006
904
+ numpy/typing/tests/data/reveal/stride_tricks.pyi,sha256=Cm9P_F7promu0zGZmo957SOFCZ6Np8wSv5ecR_hB668,1315
905
+ numpy/typing/tests/data/reveal/strings.pyi,sha256=WvSd8xHIdxQdah3Q0ZJUva79jfVngB3UD9yb6awDW8w,9547
906
+ numpy/typing/tests/data/reveal/testing.pyi,sha256=nNBPXLqXUBTpWaZXJ76HUOUk2d5ygiFPRihG16EpgNo,8833
907
+ numpy/typing/tests/data/reveal/twodim_base.pyi,sha256=7TgO5a2G24Z99Rp3PE6DWgdlNA7J7GaaSJLvAX4eiEk,7475
908
+ numpy/typing/tests/data/reveal/type_check.pyi,sha256=W7rJUEf_iwI0D1FIVjhCEfzIjw_T04qcBYFxuPwnXAo,2392
909
+ numpy/typing/tests/data/reveal/ufunc_config.pyi,sha256=TctcrjlrJfsnR2S6GF4ID8kJttoT2CkLwqIynJOa8a4,1161
910
+ numpy/typing/tests/data/reveal/ufunclike.pyi,sha256=sk_HDVLeOoNeF4VOGHDI0iUT8YHeeOJjxyZTO4q0ddE,1346
911
+ numpy/typing/tests/data/reveal/ufuncs.pyi,sha256=uippeqIoG75gv0PSZm0WL9aQ5mG6zpXX3dHUz6-U30s,6345
912
+ numpy/typing/tests/data/reveal/warnings_and_errors.pyi,sha256=5qqRFzPOon1GhU_i5CHDxQLPKVcO2EMhbc851V8Gusc,449
913
+ numpy/typing/tests/test_isfile.py,sha256=h2BqYXXwKX6A9y3_FZt7X43EvxvPD8Lf0oQBiOwY2TU,1047
914
+ numpy/typing/tests/test_runtime.py,sha256=VLY_rg7VfZAFbCKbiwhArLS43FK4IKbsm4WBIL4wFxk,3076
915
+ numpy/typing/tests/test_typing.py,sha256=VERPf6NJ6gRLoKk0ki-s1wvDS4E--InjNUaj63_Q-00,6289
916
+ numpy/version.py,sha256=Vz22tVEgc5FZ9bb4bwazm1rPFtf2SomCsu6NBN1sadI,293
917
+ numpy/version.pyi,sha256=Y23oS-gNMAghMn4fMVi9SWc-BPFcaWl7PRE-ZmWR_wM,269
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/REQUESTED ADDED
File without changes
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/WHEEL ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ Wheel-Version: 1.0
2
+ Generator: meson
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-manylinux_2_27_x86_64
5
+ Tag: cp312-cp312-manylinux_2_28_x86_64
6
+
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/entry_points.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [pkg_config]
2
+ numpy = numpy._core.lib.pkgconfig
3
+
4
+ [array_api]
5
+ numpy = numpy
6
+
7
+ [pyinstaller40]
8
+ hook-dirs = numpy:_pyinstaller_hooks_dir
9
+
10
+ [console_scripts]
11
+ f2py = numpy.f2py.f2py2e:main
12
+ numpy-config = numpy._configtool:main
13
+
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/LICENSE.txt ADDED
@@ -0,0 +1,935 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 2005-2025, NumPy Developers.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are
6
+ met:
7
+
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ * Redistributions in binary form must reproduce the above
12
+ copyright notice, this list of conditions and the following
13
+ disclaimer in the documentation and/or other materials provided
14
+ with the distribution.
15
+
16
+ * Neither the name of the NumPy Developers nor the names of any
17
+ contributors may be used to endorse or promote products derived
18
+ from this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+
32
+ ----
33
+
34
+
35
+ ----
36
+
37
+ This binary distribution of NumPy also bundles the following software:
38
+
39
+
40
+ Name: OpenBLAS
41
+ Files: numpy.libs/libscipy_openblas*.so
42
+ Description: bundled as a dynamically linked library
43
+ Availability: https://github.com/OpenMathLib/OpenBLAS/
44
+ License: BSD-3-Clause
45
+ Copyright (c) 2011-2014, The OpenBLAS Project
46
+ All rights reserved.
47
+
48
+ Redistribution and use in source and binary forms, with or without
49
+ modification, are permitted provided that the following conditions are
50
+ met:
51
+
52
+ 1. Redistributions of source code must retain the above copyright
53
+ notice, this list of conditions and the following disclaimer.
54
+
55
+ 2. Redistributions in binary form must reproduce the above copyright
56
+ notice, this list of conditions and the following disclaimer in
57
+ the documentation and/or other materials provided with the
58
+ distribution.
59
+ 3. Neither the name of the OpenBLAS project nor the names of
60
+ its contributors may be used to endorse or promote products
61
+ derived from this software without specific prior written
62
+ permission.
63
+
64
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
65
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
66
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
67
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
68
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
69
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
70
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
71
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
72
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
73
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
74
+
75
+
76
+ Name: LAPACK
77
+ Files: numpy.libs/libscipy_openblas*.so
78
+ Description: bundled in OpenBLAS
79
+ Availability: https://github.com/OpenMathLib/OpenBLAS/
80
+ License: BSD-3-Clause-Open-MPI
81
+ Copyright (c) 1992-2013 The University of Tennessee and The University
82
+ of Tennessee Research Foundation. All rights
83
+ reserved.
84
+ Copyright (c) 2000-2013 The University of California Berkeley. All
85
+ rights reserved.
86
+ Copyright (c) 2006-2013 The University of Colorado Denver. All rights
87
+ reserved.
88
+
89
+ $COPYRIGHT$
90
+
91
+ Additional copyrights may follow
92
+
93
+ $HEADER$
94
+
95
+ Redistribution and use in source and binary forms, with or without
96
+ modification, are permitted provided that the following conditions are
97
+ met:
98
+
99
+ - Redistributions of source code must retain the above copyright
100
+ notice, this list of conditions and the following disclaimer.
101
+
102
+ - Redistributions in binary form must reproduce the above copyright
103
+ notice, this list of conditions and the following disclaimer listed
104
+ in this license in the documentation and/or other materials
105
+ provided with the distribution.
106
+
107
+ - Neither the name of the copyright holders nor the names of its
108
+ contributors may be used to endorse or promote products derived from
109
+ this software without specific prior written permission.
110
+
111
+ The copyright holders provide no reassurances that the source code
112
+ provided does not infringe any patent, copyright, or any other
113
+ intellectual property rights of third parties. The copyright holders
114
+ disclaim any liability to any recipient for claims brought against
115
+ recipient by any third party for infringement of that parties
116
+ intellectual property rights.
117
+
118
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
119
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
120
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
121
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
122
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
123
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
124
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
125
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
126
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
127
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
128
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
129
+
130
+
131
+ Name: GCC runtime library
132
+ Files: numpy.libs/libgfortran*.so
133
+ Description: dynamically linked to files compiled with gcc
134
+ Availability: https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libgfortran
135
+ License: GPL-3.0-or-later WITH GCC-exception-3.1
136
+ Copyright (C) 2002-2017 Free Software Foundation, Inc.
137
+
138
+ Libgfortran is free software; you can redistribute it and/or modify
139
+ it under the terms of the GNU General Public License as published by
140
+ the Free Software Foundation; either version 3, or (at your option)
141
+ any later version.
142
+
143
+ Libgfortran is distributed in the hope that it will be useful,
144
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
145
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
146
+ GNU General Public License for more details.
147
+
148
+ Under Section 7 of GPL version 3, you are granted additional
149
+ permissions described in the GCC Runtime Library Exception, version
150
+ 3.1, as published by the Free Software Foundation.
151
+
152
+ You should have received a copy of the GNU General Public License and
153
+ a copy of the GCC Runtime Library Exception along with this program;
154
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
155
+ <http://www.gnu.org/licenses/>.
156
+
157
+ ----
158
+
159
+ Full text of license texts referred to above follows (that they are
160
+ listed below does not necessarily imply the conditions apply to the
161
+ present binary release):
162
+
163
+ ----
164
+
165
+ GCC RUNTIME LIBRARY EXCEPTION
166
+
167
+ Version 3.1, 31 March 2009
168
+
169
+ Copyright (C) 2009 Free Software Foundation, Inc. <https://fsf.org/>
170
+
171
+ Everyone is permitted to copy and distribute verbatim copies of this
172
+ license document, but changing it is not allowed.
173
+
174
+ This GCC Runtime Library Exception ("Exception") is an additional
175
+ permission under section 7 of the GNU General Public License, version
176
+ 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
177
+ bears a notice placed by the copyright holder of the file stating that
178
+ the file is governed by GPLv3 along with this Exception.
179
+
180
+ When you use GCC to compile a program, GCC may combine portions of
181
+ certain GCC header files and runtime libraries with the compiled
182
+ program. The purpose of this Exception is to allow compilation of
183
+ non-GPL (including proprietary) programs to use, in this way, the
184
+ header files and runtime libraries covered by this Exception.
185
+
186
+ 0. Definitions.
187
+
188
+ A file is an "Independent Module" if it either requires the Runtime
189
+ Library for execution after a Compilation Process, or makes use of an
190
+ interface provided by the Runtime Library, but is not otherwise based
191
+ on the Runtime Library.
192
+
193
+ "GCC" means a version of the GNU Compiler Collection, with or without
194
+ modifications, governed by version 3 (or a specified later version) of
195
+ the GNU General Public License (GPL) with the option of using any
196
+ subsequent versions published by the FSF.
197
+
198
+ "GPL-compatible Software" is software whose conditions of propagation,
199
+ modification and use would permit combination with GCC in accord with
200
+ the license of GCC.
201
+
202
+ "Target Code" refers to output from any compiler for a real or virtual
203
+ target processor architecture, in executable form or suitable for
204
+ input to an assembler, loader, linker and/or execution
205
+ phase. Notwithstanding that, Target Code does not include data in any
206
+ format that is used as a compiler intermediate representation, or used
207
+ for producing a compiler intermediate representation.
208
+
209
+ The "Compilation Process" transforms code entirely represented in
210
+ non-intermediate languages designed for human-written code, and/or in
211
+ Java Virtual Machine byte code, into Target Code. Thus, for example,
212
+ use of source code generators and preprocessors need not be considered
213
+ part of the Compilation Process, since the Compilation Process can be
214
+ understood as starting with the output of the generators or
215
+ preprocessors.
216
+
217
+ A Compilation Process is "Eligible" if it is done using GCC, alone or
218
+ with other GPL-compatible software, or if it is done without using any
219
+ work based on GCC. For example, using non-GPL-compatible Software to
220
+ optimize any GCC intermediate representations would not qualify as an
221
+ Eligible Compilation Process.
222
+
223
+ 1. Grant of Additional Permission.
224
+
225
+ You have permission to propagate a work of Target Code formed by
226
+ combining the Runtime Library with Independent Modules, even if such
227
+ propagation would otherwise violate the terms of GPLv3, provided that
228
+ all Target Code was generated by Eligible Compilation Processes. You
229
+ may then convey such a combination under terms of your choice,
230
+ consistent with the licensing of the Independent Modules.
231
+
232
+ 2. No Weakening of GCC Copyleft.
233
+
234
+ The availability of this Exception does not imply any general
235
+ presumption that third-party software is unaffected by the copyleft
236
+ requirements of the license of GCC.
237
+
238
+ ----
239
+
240
+ GNU GENERAL PUBLIC LICENSE
241
+ Version 3, 29 June 2007
242
+
243
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
244
+ Everyone is permitted to copy and distribute verbatim copies
245
+ of this license document, but changing it is not allowed.
246
+
247
+ Preamble
248
+
249
+ The GNU General Public License is a free, copyleft license for
250
+ software and other kinds of works.
251
+
252
+ The licenses for most software and other practical works are designed
253
+ to take away your freedom to share and change the works. By contrast,
254
+ the GNU General Public License is intended to guarantee your freedom to
255
+ share and change all versions of a program--to make sure it remains free
256
+ software for all its users. We, the Free Software Foundation, use the
257
+ GNU General Public License for most of our software; it applies also to
258
+ any other work released this way by its authors. You can apply it to
259
+ your programs, too.
260
+
261
+ When we speak of free software, we are referring to freedom, not
262
+ price. Our General Public Licenses are designed to make sure that you
263
+ have the freedom to distribute copies of free software (and charge for
264
+ them if you wish), that you receive source code or can get it if you
265
+ want it, that you can change the software or use pieces of it in new
266
+ free programs, and that you know you can do these things.
267
+
268
+ To protect your rights, we need to prevent others from denying you
269
+ these rights or asking you to surrender the rights. Therefore, you have
270
+ certain responsibilities if you distribute copies of the software, or if
271
+ you modify it: responsibilities to respect the freedom of others.
272
+
273
+ For example, if you distribute copies of such a program, whether
274
+ gratis or for a fee, you must pass on to the recipients the same
275
+ freedoms that you received. You must make sure that they, too, receive
276
+ or can get the source code. And you must show them these terms so they
277
+ know their rights.
278
+
279
+ Developers that use the GNU GPL protect your rights with two steps:
280
+ (1) assert copyright on the software, and (2) offer you this License
281
+ giving you legal permission to copy, distribute and/or modify it.
282
+
283
+ For the developers' and authors' protection, the GPL clearly explains
284
+ that there is no warranty for this free software. For both users' and
285
+ authors' sake, the GPL requires that modified versions be marked as
286
+ changed, so that their problems will not be attributed erroneously to
287
+ authors of previous versions.
288
+
289
+ Some devices are designed to deny users access to install or run
290
+ modified versions of the software inside them, although the manufacturer
291
+ can do so. This is fundamentally incompatible with the aim of
292
+ protecting users' freedom to change the software. The systematic
293
+ pattern of such abuse occurs in the area of products for individuals to
294
+ use, which is precisely where it is most unacceptable. Therefore, we
295
+ have designed this version of the GPL to prohibit the practice for those
296
+ products. If such problems arise substantially in other domains, we
297
+ stand ready to extend this provision to those domains in future versions
298
+ of the GPL, as needed to protect the freedom of users.
299
+
300
+ Finally, every program is threatened constantly by software patents.
301
+ States should not allow patents to restrict development and use of
302
+ software on general-purpose computers, but in those that do, we wish to
303
+ avoid the special danger that patents applied to a free program could
304
+ make it effectively proprietary. To prevent this, the GPL assures that
305
+ patents cannot be used to render the program non-free.
306
+
307
+ The precise terms and conditions for copying, distribution and
308
+ modification follow.
309
+
310
+ TERMS AND CONDITIONS
311
+
312
+ 0. Definitions.
313
+
314
+ "This License" refers to version 3 of the GNU General Public License.
315
+
316
+ "Copyright" also means copyright-like laws that apply to other kinds of
317
+ works, such as semiconductor masks.
318
+
319
+ "The Program" refers to any copyrightable work licensed under this
320
+ License. Each licensee is addressed as "you". "Licensees" and
321
+ "recipients" may be individuals or organizations.
322
+
323
+ To "modify" a work means to copy from or adapt all or part of the work
324
+ in a fashion requiring copyright permission, other than the making of an
325
+ exact copy. The resulting work is called a "modified version" of the
326
+ earlier work or a work "based on" the earlier work.
327
+
328
+ A "covered work" means either the unmodified Program or a work based
329
+ on the Program.
330
+
331
+ To "propagate" a work means to do anything with it that, without
332
+ permission, would make you directly or secondarily liable for
333
+ infringement under applicable copyright law, except executing it on a
334
+ computer or modifying a private copy. Propagation includes copying,
335
+ distribution (with or without modification), making available to the
336
+ public, and in some countries other activities as well.
337
+
338
+ To "convey" a work means any kind of propagation that enables other
339
+ parties to make or receive copies. Mere interaction with a user through
340
+ a computer network, with no transfer of a copy, is not conveying.
341
+
342
+ An interactive user interface displays "Appropriate Legal Notices"
343
+ to the extent that it includes a convenient and prominently visible
344
+ feature that (1) displays an appropriate copyright notice, and (2)
345
+ tells the user that there is no warranty for the work (except to the
346
+ extent that warranties are provided), that licensees may convey the
347
+ work under this License, and how to view a copy of this License. If
348
+ the interface presents a list of user commands or options, such as a
349
+ menu, a prominent item in the list meets this criterion.
350
+
351
+ 1. Source Code.
352
+
353
+ The "source code" for a work means the preferred form of the work
354
+ for making modifications to it. "Object code" means any non-source
355
+ form of a work.
356
+
357
+ A "Standard Interface" means an interface that either is an official
358
+ standard defined by a recognized standards body, or, in the case of
359
+ interfaces specified for a particular programming language, one that
360
+ is widely used among developers working in that language.
361
+
362
+ The "System Libraries" of an executable work include anything, other
363
+ than the work as a whole, that (a) is included in the normal form of
364
+ packaging a Major Component, but which is not part of that Major
365
+ Component, and (b) serves only to enable use of the work with that
366
+ Major Component, or to implement a Standard Interface for which an
367
+ implementation is available to the public in source code form. A
368
+ "Major Component", in this context, means a major essential component
369
+ (kernel, window system, and so on) of the specific operating system
370
+ (if any) on which the executable work runs, or a compiler used to
371
+ produce the work, or an object code interpreter used to run it.
372
+
373
+ The "Corresponding Source" for a work in object code form means all
374
+ the source code needed to generate, install, and (for an executable
375
+ work) run the object code and to modify the work, including scripts to
376
+ control those activities. However, it does not include the work's
377
+ System Libraries, or general-purpose tools or generally available free
378
+ programs which are used unmodified in performing those activities but
379
+ which are not part of the work. For example, Corresponding Source
380
+ includes interface definition files associated with source files for
381
+ the work, and the source code for shared libraries and dynamically
382
+ linked subprograms that the work is specifically designed to require,
383
+ such as by intimate data communication or control flow between those
384
+ subprograms and other parts of the work.
385
+
386
+ The Corresponding Source need not include anything that users
387
+ can regenerate automatically from other parts of the Corresponding
388
+ Source.
389
+
390
+ The Corresponding Source for a work in source code form is that
391
+ same work.
392
+
393
+ 2. Basic Permissions.
394
+
395
+ All rights granted under this License are granted for the term of
396
+ copyright on the Program, and are irrevocable provided the stated
397
+ conditions are met. This License explicitly affirms your unlimited
398
+ permission to run the unmodified Program. The output from running a
399
+ covered work is covered by this License only if the output, given its
400
+ content, constitutes a covered work. This License acknowledges your
401
+ rights of fair use or other equivalent, as provided by copyright law.
402
+
403
+ You may make, run and propagate covered works that you do not
404
+ convey, without conditions so long as your license otherwise remains
405
+ in force. You may convey covered works to others for the sole purpose
406
+ of having them make modifications exclusively for you, or provide you
407
+ with facilities for running those works, provided that you comply with
408
+ the terms of this License in conveying all material for which you do
409
+ not control copyright. Those thus making or running the covered works
410
+ for you must do so exclusively on your behalf, under your direction
411
+ and control, on terms that prohibit them from making any copies of
412
+ your copyrighted material outside their relationship with you.
413
+
414
+ Conveying under any other circumstances is permitted solely under
415
+ the conditions stated below. Sublicensing is not allowed; section 10
416
+ makes it unnecessary.
417
+
418
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
419
+
420
+ No covered work shall be deemed part of an effective technological
421
+ measure under any applicable law fulfilling obligations under article
422
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
423
+ similar laws prohibiting or restricting circumvention of such
424
+ measures.
425
+
426
+ When you convey a covered work, you waive any legal power to forbid
427
+ circumvention of technological measures to the extent such circumvention
428
+ is effected by exercising rights under this License with respect to
429
+ the covered work, and you disclaim any intention to limit operation or
430
+ modification of the work as a means of enforcing, against the work's
431
+ users, your or third parties' legal rights to forbid circumvention of
432
+ technological measures.
433
+
434
+ 4. Conveying Verbatim Copies.
435
+
436
+ You may convey verbatim copies of the Program's source code as you
437
+ receive it, in any medium, provided that you conspicuously and
438
+ appropriately publish on each copy an appropriate copyright notice;
439
+ keep intact all notices stating that this License and any
440
+ non-permissive terms added in accord with section 7 apply to the code;
441
+ keep intact all notices of the absence of any warranty; and give all
442
+ recipients a copy of this License along with the Program.
443
+
444
+ You may charge any price or no price for each copy that you convey,
445
+ and you may offer support or warranty protection for a fee.
446
+
447
+ 5. Conveying Modified Source Versions.
448
+
449
+ You may convey a work based on the Program, or the modifications to
450
+ produce it from the Program, in the form of source code under the
451
+ terms of section 4, provided that you also meet all of these conditions:
452
+
453
+ a) The work must carry prominent notices stating that you modified
454
+ it, and giving a relevant date.
455
+
456
+ b) The work must carry prominent notices stating that it is
457
+ released under this License and any conditions added under section
458
+ 7. This requirement modifies the requirement in section 4 to
459
+ "keep intact all notices".
460
+
461
+ c) You must license the entire work, as a whole, under this
462
+ License to anyone who comes into possession of a copy. This
463
+ License will therefore apply, along with any applicable section 7
464
+ additional terms, to the whole of the work, and all its parts,
465
+ regardless of how they are packaged. This License gives no
466
+ permission to license the work in any other way, but it does not
467
+ invalidate such permission if you have separately received it.
468
+
469
+ d) If the work has interactive user interfaces, each must display
470
+ Appropriate Legal Notices; however, if the Program has interactive
471
+ interfaces that do not display Appropriate Legal Notices, your
472
+ work need not make them do so.
473
+
474
+ A compilation of a covered work with other separate and independent
475
+ works, which are not by their nature extensions of the covered work,
476
+ and which are not combined with it such as to form a larger program,
477
+ in or on a volume of a storage or distribution medium, is called an
478
+ "aggregate" if the compilation and its resulting copyright are not
479
+ used to limit the access or legal rights of the compilation's users
480
+ beyond what the individual works permit. Inclusion of a covered work
481
+ in an aggregate does not cause this License to apply to the other
482
+ parts of the aggregate.
483
+
484
+ 6. Conveying Non-Source Forms.
485
+
486
+ You may convey a covered work in object code form under the terms
487
+ of sections 4 and 5, provided that you also convey the
488
+ machine-readable Corresponding Source under the terms of this License,
489
+ in one of these ways:
490
+
491
+ a) Convey the object code in, or embodied in, a physical product
492
+ (including a physical distribution medium), accompanied by the
493
+ Corresponding Source fixed on a durable physical medium
494
+ customarily used for software interchange.
495
+
496
+ b) Convey the object code in, or embodied in, a physical product
497
+ (including a physical distribution medium), accompanied by a
498
+ written offer, valid for at least three years and valid for as
499
+ long as you offer spare parts or customer support for that product
500
+ model, to give anyone who possesses the object code either (1) a
501
+ copy of the Corresponding Source for all the software in the
502
+ product that is covered by this License, on a durable physical
503
+ medium customarily used for software interchange, for a price no
504
+ more than your reasonable cost of physically performing this
505
+ conveying of source, or (2) access to copy the
506
+ Corresponding Source from a network server at no charge.
507
+
508
+ c) Convey individual copies of the object code with a copy of the
509
+ written offer to provide the Corresponding Source. This
510
+ alternative is allowed only occasionally and noncommercially, and
511
+ only if you received the object code with such an offer, in accord
512
+ with subsection 6b.
513
+
514
+ d) Convey the object code by offering access from a designated
515
+ place (gratis or for a charge), and offer equivalent access to the
516
+ Corresponding Source in the same way through the same place at no
517
+ further charge. You need not require recipients to copy the
518
+ Corresponding Source along with the object code. If the place to
519
+ copy the object code is a network server, the Corresponding Source
520
+ may be on a different server (operated by you or a third party)
521
+ that supports equivalent copying facilities, provided you maintain
522
+ clear directions next to the object code saying where to find the
523
+ Corresponding Source. Regardless of what server hosts the
524
+ Corresponding Source, you remain obligated to ensure that it is
525
+ available for as long as needed to satisfy these requirements.
526
+
527
+ e) Convey the object code using peer-to-peer transmission, provided
528
+ you inform other peers where the object code and Corresponding
529
+ Source of the work are being offered to the general public at no
530
+ charge under subsection 6d.
531
+
532
+ A separable portion of the object code, whose source code is excluded
533
+ from the Corresponding Source as a System Library, need not be
534
+ included in conveying the object code work.
535
+
536
+ A "User Product" is either (1) a "consumer product", which means any
537
+ tangible personal property which is normally used for personal, family,
538
+ or household purposes, or (2) anything designed or sold for incorporation
539
+ into a dwelling. In determining whether a product is a consumer product,
540
+ doubtful cases shall be resolved in favor of coverage. For a particular
541
+ product received by a particular user, "normally used" refers to a
542
+ typical or common use of that class of product, regardless of the status
543
+ of the particular user or of the way in which the particular user
544
+ actually uses, or expects or is expected to use, the product. A product
545
+ is a consumer product regardless of whether the product has substantial
546
+ commercial, industrial or non-consumer uses, unless such uses represent
547
+ the only significant mode of use of the product.
548
+
549
+ "Installation Information" for a User Product means any methods,
550
+ procedures, authorization keys, or other information required to install
551
+ and execute modified versions of a covered work in that User Product from
552
+ a modified version of its Corresponding Source. The information must
553
+ suffice to ensure that the continued functioning of the modified object
554
+ code is in no case prevented or interfered with solely because
555
+ modification has been made.
556
+
557
+ If you convey an object code work under this section in, or with, or
558
+ specifically for use in, a User Product, and the conveying occurs as
559
+ part of a transaction in which the right of possession and use of the
560
+ User Product is transferred to the recipient in perpetuity or for a
561
+ fixed term (regardless of how the transaction is characterized), the
562
+ Corresponding Source conveyed under this section must be accompanied
563
+ by the Installation Information. But this requirement does not apply
564
+ if neither you nor any third party retains the ability to install
565
+ modified object code on the User Product (for example, the work has
566
+ been installed in ROM).
567
+
568
+ The requirement to provide Installation Information does not include a
569
+ requirement to continue to provide support service, warranty, or updates
570
+ for a work that has been modified or installed by the recipient, or for
571
+ the User Product in which it has been modified or installed. Access to a
572
+ network may be denied when the modification itself materially and
573
+ adversely affects the operation of the network or violates the rules and
574
+ protocols for communication across the network.
575
+
576
+ Corresponding Source conveyed, and Installation Information provided,
577
+ in accord with this section must be in a format that is publicly
578
+ documented (and with an implementation available to the public in
579
+ source code form), and must require no special password or key for
580
+ unpacking, reading or copying.
581
+
582
+ 7. Additional Terms.
583
+
584
+ "Additional permissions" are terms that supplement the terms of this
585
+ License by making exceptions from one or more of its conditions.
586
+ Additional permissions that are applicable to the entire Program shall
587
+ be treated as though they were included in this License, to the extent
588
+ that they are valid under applicable law. If additional permissions
589
+ apply only to part of the Program, that part may be used separately
590
+ under those permissions, but the entire Program remains governed by
591
+ this License without regard to the additional permissions.
592
+
593
+ When you convey a copy of a covered work, you may at your option
594
+ remove any additional permissions from that copy, or from any part of
595
+ it. (Additional permissions may be written to require their own
596
+ removal in certain cases when you modify the work.) You may place
597
+ additional permissions on material, added by you to a covered work,
598
+ for which you have or can give appropriate copyright permission.
599
+
600
+ Notwithstanding any other provision of this License, for material you
601
+ add to a covered work, you may (if authorized by the copyright holders of
602
+ that material) supplement the terms of this License with terms:
603
+
604
+ a) Disclaiming warranty or limiting liability differently from the
605
+ terms of sections 15 and 16 of this License; or
606
+
607
+ b) Requiring preservation of specified reasonable legal notices or
608
+ author attributions in that material or in the Appropriate Legal
609
+ Notices displayed by works containing it; or
610
+
611
+ c) Prohibiting misrepresentation of the origin of that material, or
612
+ requiring that modified versions of such material be marked in
613
+ reasonable ways as different from the original version; or
614
+
615
+ d) Limiting the use for publicity purposes of names of licensors or
616
+ authors of the material; or
617
+
618
+ e) Declining to grant rights under trademark law for use of some
619
+ trade names, trademarks, or service marks; or
620
+
621
+ f) Requiring indemnification of licensors and authors of that
622
+ material by anyone who conveys the material (or modified versions of
623
+ it) with contractual assumptions of liability to the recipient, for
624
+ any liability that these contractual assumptions directly impose on
625
+ those licensors and authors.
626
+
627
+ All other non-permissive additional terms are considered "further
628
+ restrictions" within the meaning of section 10. If the Program as you
629
+ received it, or any part of it, contains a notice stating that it is
630
+ governed by this License along with a term that is a further
631
+ restriction, you may remove that term. If a license document contains
632
+ a further restriction but permits relicensing or conveying under this
633
+ License, you may add to a covered work material governed by the terms
634
+ of that license document, provided that the further restriction does
635
+ not survive such relicensing or conveying.
636
+
637
+ If you add terms to a covered work in accord with this section, you
638
+ must place, in the relevant source files, a statement of the
639
+ additional terms that apply to those files, or a notice indicating
640
+ where to find the applicable terms.
641
+
642
+ Additional terms, permissive or non-permissive, may be stated in the
643
+ form of a separately written license, or stated as exceptions;
644
+ the above requirements apply either way.
645
+
646
+ 8. Termination.
647
+
648
+ You may not propagate or modify a covered work except as expressly
649
+ provided under this License. Any attempt otherwise to propagate or
650
+ modify it is void, and will automatically terminate your rights under
651
+ this License (including any patent licenses granted under the third
652
+ paragraph of section 11).
653
+
654
+ However, if you cease all violation of this License, then your
655
+ license from a particular copyright holder is reinstated (a)
656
+ provisionally, unless and until the copyright holder explicitly and
657
+ finally terminates your license, and (b) permanently, if the copyright
658
+ holder fails to notify you of the violation by some reasonable means
659
+ prior to 60 days after the cessation.
660
+
661
+ Moreover, your license from a particular copyright holder is
662
+ reinstated permanently if the copyright holder notifies you of the
663
+ violation by some reasonable means, this is the first time you have
664
+ received notice of violation of this License (for any work) from that
665
+ copyright holder, and you cure the violation prior to 30 days after
666
+ your receipt of the notice.
667
+
668
+ Termination of your rights under this section does not terminate the
669
+ licenses of parties who have received copies or rights from you under
670
+ this License. If your rights have been terminated and not permanently
671
+ reinstated, you do not qualify to receive new licenses for the same
672
+ material under section 10.
673
+
674
+ 9. Acceptance Not Required for Having Copies.
675
+
676
+ You are not required to accept this License in order to receive or
677
+ run a copy of the Program. Ancillary propagation of a covered work
678
+ occurring solely as a consequence of using peer-to-peer transmission
679
+ to receive a copy likewise does not require acceptance. However,
680
+ nothing other than this License grants you permission to propagate or
681
+ modify any covered work. These actions infringe copyright if you do
682
+ not accept this License. Therefore, by modifying or propagating a
683
+ covered work, you indicate your acceptance of this License to do so.
684
+
685
+ 10. Automatic Licensing of Downstream Recipients.
686
+
687
+ Each time you convey a covered work, the recipient automatically
688
+ receives a license from the original licensors, to run, modify and
689
+ propagate that work, subject to this License. You are not responsible
690
+ for enforcing compliance by third parties with this License.
691
+
692
+ An "entity transaction" is a transaction transferring control of an
693
+ organization, or substantially all assets of one, or subdividing an
694
+ organization, or merging organizations. If propagation of a covered
695
+ work results from an entity transaction, each party to that
696
+ transaction who receives a copy of the work also receives whatever
697
+ licenses to the work the party's predecessor in interest had or could
698
+ give under the previous paragraph, plus a right to possession of the
699
+ Corresponding Source of the work from the predecessor in interest, if
700
+ the predecessor has it or can get it with reasonable efforts.
701
+
702
+ You may not impose any further restrictions on the exercise of the
703
+ rights granted or affirmed under this License. For example, you may
704
+ not impose a license fee, royalty, or other charge for exercise of
705
+ rights granted under this License, and you may not initiate litigation
706
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
707
+ any patent claim is infringed by making, using, selling, offering for
708
+ sale, or importing the Program or any portion of it.
709
+
710
+ 11. Patents.
711
+
712
+ A "contributor" is a copyright holder who authorizes use under this
713
+ License of the Program or a work on which the Program is based. The
714
+ work thus licensed is called the contributor's "contributor version".
715
+
716
+ A contributor's "essential patent claims" are all patent claims
717
+ owned or controlled by the contributor, whether already acquired or
718
+ hereafter acquired, that would be infringed by some manner, permitted
719
+ by this License, of making, using, or selling its contributor version,
720
+ but do not include claims that would be infringed only as a
721
+ consequence of further modification of the contributor version. For
722
+ purposes of this definition, "control" includes the right to grant
723
+ patent sublicenses in a manner consistent with the requirements of
724
+ this License.
725
+
726
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
727
+ patent license under the contributor's essential patent claims, to
728
+ make, use, sell, offer for sale, import and otherwise run, modify and
729
+ propagate the contents of its contributor version.
730
+
731
+ In the following three paragraphs, a "patent license" is any express
732
+ agreement or commitment, however denominated, not to enforce a patent
733
+ (such as an express permission to practice a patent or covenant not to
734
+ sue for patent infringement). To "grant" such a patent license to a
735
+ party means to make such an agreement or commitment not to enforce a
736
+ patent against the party.
737
+
738
+ If you convey a covered work, knowingly relying on a patent license,
739
+ and the Corresponding Source of the work is not available for anyone
740
+ to copy, free of charge and under the terms of this License, through a
741
+ publicly available network server or other readily accessible means,
742
+ then you must either (1) cause the Corresponding Source to be so
743
+ available, or (2) arrange to deprive yourself of the benefit of the
744
+ patent license for this particular work, or (3) arrange, in a manner
745
+ consistent with the requirements of this License, to extend the patent
746
+ license to downstream recipients. "Knowingly relying" means you have
747
+ actual knowledge that, but for the patent license, your conveying the
748
+ covered work in a country, or your recipient's use of the covered work
749
+ in a country, would infringe one or more identifiable patents in that
750
+ country that you have reason to believe are valid.
751
+
752
+ If, pursuant to or in connection with a single transaction or
753
+ arrangement, you convey, or propagate by procuring conveyance of, a
754
+ covered work, and grant a patent license to some of the parties
755
+ receiving the covered work authorizing them to use, propagate, modify
756
+ or convey a specific copy of the covered work, then the patent license
757
+ you grant is automatically extended to all recipients of the covered
758
+ work and works based on it.
759
+
760
+ A patent license is "discriminatory" if it does not include within
761
+ the scope of its coverage, prohibits the exercise of, or is
762
+ conditioned on the non-exercise of one or more of the rights that are
763
+ specifically granted under this License. You may not convey a covered
764
+ work if you are a party to an arrangement with a third party that is
765
+ in the business of distributing software, under which you make payment
766
+ to the third party based on the extent of your activity of conveying
767
+ the work, and under which the third party grants, to any of the
768
+ parties who would receive the covered work from you, a discriminatory
769
+ patent license (a) in connection with copies of the covered work
770
+ conveyed by you (or copies made from those copies), or (b) primarily
771
+ for and in connection with specific products or compilations that
772
+ contain the covered work, unless you entered into that arrangement,
773
+ or that patent license was granted, prior to 28 March 2007.
774
+
775
+ Nothing in this License shall be construed as excluding or limiting
776
+ any implied license or other defenses to infringement that may
777
+ otherwise be available to you under applicable patent law.
778
+
779
+ 12. No Surrender of Others' Freedom.
780
+
781
+ If conditions are imposed on you (whether by court order, agreement or
782
+ otherwise) that contradict the conditions of this License, they do not
783
+ excuse you from the conditions of this License. If you cannot convey a
784
+ covered work so as to satisfy simultaneously your obligations under this
785
+ License and any other pertinent obligations, then as a consequence you may
786
+ not convey it at all. For example, if you agree to terms that obligate you
787
+ to collect a royalty for further conveying from those to whom you convey
788
+ the Program, the only way you could satisfy both those terms and this
789
+ License would be to refrain entirely from conveying the Program.
790
+
791
+ 13. Use with the GNU Affero General Public License.
792
+
793
+ Notwithstanding any other provision of this License, you have
794
+ permission to link or combine any covered work with a work licensed
795
+ under version 3 of the GNU Affero General Public License into a single
796
+ combined work, and to convey the resulting work. The terms of this
797
+ License will continue to apply to the part which is the covered work,
798
+ but the special requirements of the GNU Affero General Public License,
799
+ section 13, concerning interaction through a network will apply to the
800
+ combination as such.
801
+
802
+ 14. Revised Versions of this License.
803
+
804
+ The Free Software Foundation may publish revised and/or new versions of
805
+ the GNU General Public License from time to time. Such new versions will
806
+ be similar in spirit to the present version, but may differ in detail to
807
+ address new problems or concerns.
808
+
809
+ Each version is given a distinguishing version number. If the
810
+ Program specifies that a certain numbered version of the GNU General
811
+ Public License "or any later version" applies to it, you have the
812
+ option of following the terms and conditions either of that numbered
813
+ version or of any later version published by the Free Software
814
+ Foundation. If the Program does not specify a version number of the
815
+ GNU General Public License, you may choose any version ever published
816
+ by the Free Software Foundation.
817
+
818
+ If the Program specifies that a proxy can decide which future
819
+ versions of the GNU General Public License can be used, that proxy's
820
+ public statement of acceptance of a version permanently authorizes you
821
+ to choose that version for the Program.
822
+
823
+ Later license versions may give you additional or different
824
+ permissions. However, no additional obligations are imposed on any
825
+ author or copyright holder as a result of your choosing to follow a
826
+ later version.
827
+
828
+ 15. Disclaimer of Warranty.
829
+
830
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
831
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
832
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
833
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
834
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
835
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
836
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
837
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
838
+
839
+ 16. Limitation of Liability.
840
+
841
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
842
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
843
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
844
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
845
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
846
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
847
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
848
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
849
+ SUCH DAMAGES.
850
+
851
+ 17. Interpretation of Sections 15 and 16.
852
+
853
+ If the disclaimer of warranty and limitation of liability provided
854
+ above cannot be given local legal effect according to their terms,
855
+ reviewing courts shall apply local law that most closely approximates
856
+ an absolute waiver of all civil liability in connection with the
857
+ Program, unless a warranty or assumption of liability accompanies a
858
+ copy of the Program in return for a fee.
859
+
860
+ END OF TERMS AND CONDITIONS
861
+
862
+ How to Apply These Terms to Your New Programs
863
+
864
+ If you develop a new program, and you want it to be of the greatest
865
+ possible use to the public, the best way to achieve this is to make it
866
+ free software which everyone can redistribute and change under these terms.
867
+
868
+ To do so, attach the following notices to the program. It is safest
869
+ to attach them to the start of each source file to most effectively
870
+ state the exclusion of warranty; and each file should have at least
871
+ the "copyright" line and a pointer to where the full notice is found.
872
+
873
+ <one line to give the program's name and a brief idea of what it does.>
874
+ Copyright (C) <year> <name of author>
875
+
876
+ This program is free software: you can redistribute it and/or modify
877
+ it under the terms of the GNU General Public License as published by
878
+ the Free Software Foundation, either version 3 of the License, or
879
+ (at your option) any later version.
880
+
881
+ This program is distributed in the hope that it will be useful,
882
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
883
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
884
+ GNU General Public License for more details.
885
+
886
+ You should have received a copy of the GNU General Public License
887
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
888
+
889
+ Also add information on how to contact you by electronic and paper mail.
890
+
891
+ If the program does terminal interaction, make it output a short
892
+ notice like this when it starts in an interactive mode:
893
+
894
+ <program> Copyright (C) <year> <name of author>
895
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
896
+ This is free software, and you are welcome to redistribute it
897
+ under certain conditions; type `show c' for details.
898
+
899
+ The hypothetical commands `show w' and `show c' should show the appropriate
900
+ parts of the General Public License. Of course, your program's commands
901
+ might be different; for a GUI interface, you would use an "about box".
902
+
903
+ You should also get your employer (if you work as a programmer) or school,
904
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
905
+ For more information on this, and how to apply and follow the GNU GPL, see
906
+ <https://www.gnu.org/licenses/>.
907
+
908
+ The GNU General Public License does not permit incorporating your program
909
+ into proprietary programs. If your program is a subroutine library, you
910
+ may consider it more useful to permit linking proprietary applications with
911
+ the library. If this is what you want to do, use the GNU Lesser General
912
+ Public License instead of this License. But first, please read
913
+ <https://www.gnu.org/licenses/why-not-lgpl.html>.
914
+
915
+ Name: libquadmath
916
+ Files: numpy.libs/libquadmath*.so
917
+ Description: dynamically linked to files compiled with gcc
918
+ Availability: https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libquadmath
919
+ License: LGPL-2.1-or-later
920
+
921
+ GCC Quad-Precision Math Library
922
+ Copyright (C) 2010-2019 Free Software Foundation, Inc.
923
+ Written by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
924
+
925
+ This file is part of the libquadmath library.
926
+ Libquadmath is free software; you can redistribute it and/or
927
+ modify it under the terms of the GNU Library General Public
928
+ License as published by the Free Software Foundation; either
929
+ version 2.1 of the License, or (at your option) any later version.
930
+
931
+ Libquadmath is distributed in the hope that it will be useful,
932
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
933
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
934
+ Lesser General Public License for more details.
935
+ https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/include/numpy/libdivide/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ zlib License
2
+ ------------
3
+
4
+ Copyright (C) 2010 - 2019 ridiculous_fish, <libdivide@ridiculousfish.com>
5
+ Copyright (C) 2016 - 2019 Kim Walisch, <kim.walisch@gmail.com>
6
+
7
+ This software is provided 'as-is', without any express or implied
8
+ warranty. In no event will the authors be held liable for any damages
9
+ arising from the use of this software.
10
+
11
+ Permission is granted to anyone to use this software for any purpose,
12
+ including commercial applications, and to alter it and redistribute it
13
+ freely, subject to the following restrictions:
14
+
15
+ 1. The origin of this software must not be misrepresented; you must not
16
+ claim that you wrote the original software. If you use this software
17
+ in a product, an acknowledgment in the product documentation would be
18
+ appreciated but is not required.
19
+ 2. Altered source versions must be plainly marked as such, and must not be
20
+ misrepresented as being the original software.
21
+ 3. This notice may not be removed or altered from any source distribution.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/COPYING ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ BSD Zero Clause License
2
+
3
+ Copyright Contributors to the pythoncapi_compat project.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/highway/LICENSE ADDED
@@ -0,0 +1,371 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ This project is primarily dual-licensed under your choice of either the Apache
2
+ License 2.0 or the BSD 3-Clause License.
3
+
4
+ The following files are licensed under different terms:
5
+ * hwy/contrib/random/random-inl.h: CC0 1.0 Universal
6
+
7
+ The full texts of all applicable licenses are included below, separated by
8
+ '---'.
9
+
10
+ --------------------------------------------------------------------------------
11
+ Apache License 2.0
12
+ --------------------------------------------------------------------------------
13
+
14
+ Apache License
15
+ Version 2.0, January 2004
16
+ http://www.apache.org/licenses/
17
+
18
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
19
+
20
+ 1. Definitions.
21
+
22
+ "License" shall mean the terms and conditions for use, reproduction,
23
+ and distribution as defined by Sections 1 through 9 of this document.
24
+
25
+ "Licensor" shall mean the copyright owner or entity authorized by
26
+ the copyright owner that is granting the License.
27
+
28
+ "Legal Entity" shall mean the union of the acting entity and all
29
+ other entities that control, are controlled by, or are under common
30
+ control with that entity. For the purposes of this definition,
31
+ "control" means (i) the power, direct or indirect, to cause the
32
+ direction or management of such entity, whether by contract or
33
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
34
+ outstanding shares, or (iii) beneficial ownership of such entity.
35
+
36
+ "You" (or "Your") shall mean an individual or Legal Entity
37
+ exercising permissions granted by this License.
38
+
39
+ "Source" form shall mean the preferred form for making modifications,
40
+ including but not limited to software source code, documentation
41
+ source, and configuration files.
42
+
43
+ "Object" form shall mean any form resulting from mechanical
44
+ transformation or translation of a Source form, including but
45
+ not limited to compiled object code, generated documentation,
46
+ and conversions to other media types.
47
+
48
+ "Work" shall mean the work of authorship, whether in Source or
49
+ Object form, made available under the License, as indicated by a
50
+ copyright notice that is included in or attached to the work
51
+ (an example is provided in the Appendix below).
52
+
53
+ "Derivative Works" shall mean any work, whether in Source or Object
54
+ form, that is based on (or derived from) the Work and for which the
55
+ editorial revisions, annotations, elaborations, or other modifications
56
+ represent, as a whole, an original work of authorship. For the purposes
57
+ of this License, Derivative Works shall not include works that remain
58
+ separable from, or merely link (or bind by name) to the interfaces of,
59
+ the Work and Derivative Works thereof.
60
+
61
+ "Contribution" shall mean any work of authorship, including
62
+ the original version of the Work and any modifications or additions
63
+ to that Work or Derivative Works thereof, that is intentionally
64
+ submitted to Licensor for inclusion in the Work by the copyright owner
65
+ or by an individual or Legal Entity authorized to submit on behalf of
66
+ the copyright owner. For the purposes of this definition, "submitted"
67
+ means any form of electronic, verbal, or written communication sent
68
+ to the Licensor or its representatives, including but not limited to
69
+ communication on electronic mailing lists, source code control systems,
70
+ and issue tracking systems that are managed by, or on behalf of, the
71
+ Licensor for the purpose of discussing and improving the Work, but
72
+ excluding communication that is conspicuously marked or otherwise
73
+ designated in writing by the copyright owner as "Not a Contribution."
74
+
75
+ "Contributor" shall mean Licensor and any individual or Legal Entity
76
+ on behalf of whom a Contribution has been received by Licensor and
77
+ subsequently incorporated within the Work.
78
+
79
+ 2. Grant of Copyright License. Subject to the terms and conditions of
80
+ this License, each Contributor hereby grants to You a perpetual,
81
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
82
+ copyright license to reproduce, prepare Derivative Works of,
83
+ publicly display, publicly perform, sublicense, and distribute the
84
+ Work and such Derivative Works in Source or Object form.
85
+
86
+ 3. Grant of Patent License. Subject to the terms and conditions of
87
+ this License, each Contributor hereby grants to You a perpetual,
88
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
89
+ (except as stated in this section) patent license to make, have made,
90
+ use, offer to sell, sell, import, and otherwise transfer the Work,
91
+ where such license applies only to those patent claims licensable
92
+ by such Contributor that are necessarily infringed by their
93
+ Contribution(s) alone or by combination of their Contribution(s)
94
+ with the Work to which such Contribution(s) was submitted. If You
95
+ institute patent litigation against any entity (including a
96
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
97
+ or a Contribution incorporated within the Work constitutes direct
98
+ or contributory patent infringement, then any patent licenses
99
+ granted to You under this License for that Work shall terminate
100
+ as of the date such litigation is filed.
101
+
102
+ 4. Redistribution. You may reproduce and distribute copies of the
103
+ Work or Derivative Works thereof in any medium, with or without
104
+ modifications, and in Source or Object form, provided that You
105
+ meet the following conditions:
106
+
107
+ (a) You must give any other recipients of the Work or
108
+ Derivative Works a copy of this License; and
109
+
110
+ (b) You must cause any modified files to carry prominent notices
111
+ stating that You changed the files; and
112
+
113
+ (c) You must retain, in the Source form of any Derivative Works
114
+ that You distribute, all copyright, patent, trademark, and
115
+ attribution notices from the Source form of the Work,
116
+ excluding those notices that do not pertain to any part of
117
+ the Derivative Works; and
118
+
119
+ (d) If the Work includes a "NOTICE" text file as part of its
120
+ distribution, then any Derivative Works that You distribute must
121
+ include a readable copy of the attribution notices contained
122
+ within such NOTICE file, excluding those notices that do not
123
+ pertain to any part of the Derivative Works, in at least one
124
+ of the following places: within a NOTICE text file distributed
125
+ as part of the Derivative Works; within the Source form or
126
+ documentation, if provided along with the Derivative Works; or,
127
+ within a display generated by the Derivative Works, if and
128
+ wherever such third-party notices normally appear. The contents
129
+ of the NOTICE file are for informational purposes only and
130
+ do not modify the License. You may add Your own attribution
131
+ notices within Derivative Works that You distribute, alongside
132
+ or as an addendum to the NOTICE text from the Work, provided
133
+ that such additional attribution notices cannot be construed
134
+ as modifying the License.
135
+
136
+ You may add Your own copyright statement to Your modifications and
137
+ may provide additional or different license terms and conditions
138
+ for use, reproduction, or distribution of Your modifications, or
139
+ for any such Derivative Works as a whole, provided Your use,
140
+ reproduction, and distribution of the Work otherwise complies with
141
+ the conditions stated in this License.
142
+
143
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
144
+ any Contribution intentionally submitted for inclusion in the Work
145
+ by You to the Licensor shall be under the terms and conditions of
146
+ this License, without any additional terms or conditions.
147
+ Notwithstanding the above, nothing herein shall supersede or modify
148
+ the terms of any separate license agreement you may have executed
149
+ with Licensor regarding such Contributions.
150
+
151
+ 6. Trademarks. This License does not grant permission to use the trade
152
+ names, trademarks, service marks, or product names of the Licensor,
153
+ except as required for reasonable and customary use in describing the
154
+ origin of the Work and reproducing the content of the NOTICE file.
155
+
156
+ 7. Disclaimer of Warranty. Unless required by applicable law or
157
+ agreed to in writing, Licensor provides the Work (and each
158
+ Contributor provides its Contributions) on an "AS IS" BASIS,
159
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
160
+ implied, including, without limitation, any warranties or conditions
161
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
162
+ PARTICULAR PURPOSE. You are solely responsible for determining the
163
+ appropriateness of using or redistributing the Work and assume any
164
+ risks associated with Your exercise of permissions under this License.
165
+
166
+ 8. Limitation of Liability. In no event and under no legal theory,
167
+ whether in tort (including negligence), contract, or otherwise,
168
+ unless required by applicable law (such as deliberate and grossly
169
+ negligent acts) or agreed to in writing, shall any Contributor be
170
+ liable to You for damages, including any direct, indirect, special,
171
+ incidental, or consequential damages of any character arising as a
172
+ result of this License or out of the use or inability to use the
173
+ Work (including but not limited to damages for loss of goodwill,
174
+ work stoppage, computer failure or malfunction, or any and all
175
+ other commercial damages or losses), even if such Contributor
176
+ has been advised of the possibility of such damages.
177
+
178
+ 9. Accepting Warranty or Additional Liability. While redistributing
179
+ the Work or Derivative Works thereof, You may choose to offer,
180
+ and charge a fee for, acceptance of support, warranty, indemnity,
181
+ or other liability obligations and/or rights consistent with this
182
+ License. However, in accepting such obligations, You may act only
183
+ on Your own behalf and on Your sole responsibility, not on behalf
184
+ of any other Contributor, and only if You agree to indemnify,
185
+ defend, and hold each Contributor harmless for any liability
186
+ incurred by, or claims asserted against, such Contributor by reason
187
+ of your accepting any such warranty or additional liability.
188
+
189
+ END OF TERMS AND CONDITIONS
190
+
191
+ APPENDIX: How to apply the Apache License to your work.
192
+
193
+ To apply the Apache License to your work, attach the following
194
+ boilerplate notice, with the fields enclosed by brackets "[]"
195
+ replaced with your own identifying information. (Don't include
196
+ the brackets!) The text should be enclosed in the appropriate
197
+ comment syntax for the file format. We also recommend that a
198
+ file or class name and description of purpose be included on the
199
+ same "printed page" as the copyright notice for easier
200
+ identification within third-party archives.
201
+
202
+ Copyright [yyyy] [name of copyright owner]
203
+
204
+ Licensed under the Apache License, Version 2.0 (the "License");
205
+ you may not use this file except in compliance with the License.
206
+ You may obtain a copy of the License at
207
+
208
+ http://www.apache.org/licenses/LICENSE-2.0
209
+
210
+ Unless required by applicable law or agreed to in writing, software
211
+ distributed under the License is distributed on an "AS IS" BASIS,
212
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
213
+ See the License for the specific language governing permissions and
214
+ limitations under the License.
215
+
216
+ --------------------------------------------------------------------------------
217
+ BSD 3-Clause License
218
+ --------------------------------------------------------------------------------
219
+
220
+ Copyright (c) The Highway Project Authors. All rights reserved.
221
+
222
+ Redistribution and use in source and binary forms, with or without modification,
223
+ are permitted provided that the following conditions are met:
224
+
225
+ 1. Redistributions of source code must retain the above copyright notice, this
226
+ list of conditions and the following disclaimer.
227
+
228
+ 2. Redistributions in binary form must reproduce the above copyright notice,
229
+ this list of conditions and the following disclaimer in the documentation
230
+ and/or other materials provided with the distribution.
231
+
232
+ 3. Neither the name of the copyright holder nor the names of its
233
+ contributors may be used to endorse or promote products derived from
234
+ this software without specific prior written permission.
235
+
236
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
237
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
238
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
239
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
240
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
241
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
242
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
243
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
244
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
245
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
246
+
247
+ --------------------------------------------------------------------------------
248
+ CC0 1.0 Universal
249
+ --------------------------------------------------------------------------------
250
+
251
+ Creative Commons Legal Code
252
+
253
+ CC0 1.0 Universal
254
+
255
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
256
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
257
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
258
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
259
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
260
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
261
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
262
+ HEREUNDER.
263
+
264
+ Statement of Purpose
265
+
266
+ The laws of most jurisdictions throughout the world automatically confer
267
+ exclusive Copyright and Related Rights (defined below) upon the creator
268
+ and subsequent owner(s) (each and all, an "owner") of an original work of
269
+ authorship and/or a database (each, a "Work").
270
+
271
+ Certain owners wish to permanently relinquish those rights to a Work for
272
+ the purpose of contributing to a commons of creative, cultural and
273
+ scientific works ("Commons") that the public can reliably and without fear
274
+ of later claims of infringement build upon, modify, incorporate in other
275
+ works, reuse and redistribute as freely as possible in any form whatsoever
276
+ and for any purposes, including without limitation commercial purposes.
277
+ These owners may contribute to the Commons to promote the ideal of a free
278
+ culture and the further production of creative, cultural and scientific
279
+ works, or to gain reputation or greater distribution for their Work in
280
+ part through the use and efforts of others.
281
+
282
+ For these and/or other purposes and motivations, and without any
283
+ expectation of additional consideration or compensation, the person
284
+ associating CC0 with a Work (the "Affirmer"), to the extent that he or she
285
+ is an owner of Copyright and Related Rights in the Work, voluntarily
286
+ elects to apply CC0 to the Work and publicly distribute the Work under its
287
+ terms, with knowledge of his or her Copyright and Related Rights in the
288
+ Work and the meaning and intended legal effect of CC0 on those rights.
289
+
290
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
291
+ protected by copyright and related or neighboring rights ("Copyright and
292
+ Related Rights"). Copyright and Related Rights include, but are not
293
+ limited to, the following:
294
+
295
+ i. the right to reproduce, adapt, distribute, perform, display,
296
+ communicate, and translate a Work;
297
+ ii. moral rights retained by the original author(s) and/or performer(s);
298
+ iii. publicity and privacy rights pertaining to a person's image or
299
+ likeness depicted in a Work;
300
+ iv. rights protecting against unfair competition in regards to a Work,
301
+ subject to the limitations in paragraph 4(a), below;
302
+ v. rights protecting the extraction, dissemination, use and reuse of data
303
+ in a Work;
304
+ vi. database rights (such as those arising under Directive 96/9/EC of the
305
+ European Parliament and of the Council of 11 March 1996 on the legal
306
+ protection of databases, and under any national implementation
307
+ thereof, including any amended or successor version of such
308
+ directive); and
309
+ vii. other similar, equivalent or corresponding rights throughout the
310
+ world based on applicable law or treaty, and any national
311
+ implementations thereof.
312
+
313
+ 2. Waiver. To the greatest extent permitted by, but not in contravention
314
+ of, applicable law, Affirmer hereby overtly, fully, permanently,
315
+ irrevocably and unconditionally waives, abandons, and surrenders all of
316
+ Affirmer's Copyright and Related Rights and associated claims and causes
317
+ of action, whether now known or unknown (including existing as well as
318
+ future claims and causes of action), in the Work (i) in all territories
319
+ worldwide, (ii) for the maximum duration provided by applicable law or
320
+ treaty (including future time extensions), (iii) in any current or future
321
+ medium and for any number of copies, and (iv) for any purpose whatsoever,
322
+ including without limitation commercial, advertising or promotional
323
+ purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
324
+ member of the public at large and to the detriment of Affirmer's heirs and
325
+ successors, fully intending that such Waiver shall not be subject to
326
+ revocation, rescission, cancellation, termination, or any other legal or
327
+ equitable action to disrupt the quiet enjoyment of the Work by the public
328
+ as contemplated by Affirmer's express Statement of Purpose.
329
+
330
+ 3. Public License Fallback. Should any part of the Waiver for any reason
331
+ be judged legally invalid or ineffective under applicable law, then the
332
+ Waiver shall be preserved to the maximum extent permitted taking into
333
+ account Affirmer's express Statement of Purpose. In addition, to the
334
+ extent the Waiver is so judged Affirmer hereby grants to each affected
335
+ person a royalty-free, non transferable, non sublicensable, non exclusive,
336
+ irrevocable and unconditional license to exercise Affirmer's Copyright and
337
+ Related Rights in the Work (i) in all territories worldwide, (ii) for the
338
+ maximum duration provided by applicable law or treaty (including future
339
+ time extensions), (iii) in any current or future medium and for any number
340
+ of copies, and (iv) for any purpose whatsoever, including without
341
+ limitation commercial, advertising or promotional purposes (the
342
+ "License"). The License shall be deemed effective as of the date CC0 was
343
+ applied by Affirmer to the Work. Should any part of the License for any
344
+ reason be judged legally invalid or ineffective under applicable law, such
345
+ partial invalidity or ineffectiveness shall not invalidate the remainder
346
+ of the License, and in such case Affirmer hereby affirms that he or she
347
+ will not (i) exercise any of his or her remaining Copyright and Related
348
+ Rights in the Work or (ii) assert any associated claims and causes of
349
+ action with respect to the Work, in either case contrary to Affirmer's
350
+ express Statement of Purpose.
351
+
352
+ 4. Limitations and Disclaimers.
353
+
354
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
355
+ surrendered, licensed or otherwise affected by this document.
356
+ b. Affirmer offers the Work as-is and makes no representations or
357
+ warranties of any kind concerning the Work, express, implied,
358
+ statutory or otherwise, including without limitation warranties of
359
+ title, merchantability, fitness for a particular purpose, non
360
+ infringement, or the absence of latent or other defects, accuracy, or
361
+ the present or absence of errors, whether or not discoverable, all to
362
+ the greatest extent permissible under applicable law.
363
+ c. Affirmer disclaims responsibility for clearing rights of other persons
364
+ that may apply to the Work or any use thereof, including without
365
+ limitation any person's Copyright and Related Rights in the Work.
366
+ Further, Affirmer disclaims responsibility for obtaining any necessary
367
+ consents, permissions or other rights required for any use of the
368
+ Work.
369
+ d. Affirmer understands and acknowledges that Creative Commons is not a
370
+ party to this document and has no duty or obligation with respect to
371
+ this CC0 or use of the Work.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/multiarray/dragon4_LICENSE.txt ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 2014 Ryan Juckett
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to
5
+ deal in the Software without restriction, including without limitation the
6
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ sell copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ IN THE SOFTWARE.
20
+
21
+ dragon4.c|h h contains a modified version of Ryan Juckett's Dragon4
22
+ implementation, obtained from https://www.ryanjuckett.com,
23
+ which has been ported from C++ to C and which has
24
+ modifications specific to printing floats in numpy.
25
+
26
+ Ryan Juckett's original code was under the Zlib license; he gave numpy
27
+ permission to include it under the MIT license instead.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/LICENSE.md ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2022, Intel. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/_core/src/umath/svml/LICENSE ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 2005-2021, NumPy Developers.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are
6
+ met:
7
+
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ * Redistributions in binary form must reproduce the above
12
+ copyright notice, this list of conditions and the following
13
+ disclaimer in the documentation and/or other materials provided
14
+ with the distribution.
15
+
16
+ * Neither the name of the NumPy Developers nor the names of any
17
+ contributors may be used to endorse or promote products derived
18
+ from this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/fft/pocketfft/LICENSE.md ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (C) 2010-2018 Max-Planck-Society
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification,
5
+ are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright notice, this
10
+ list of conditions and the following disclaimer in the documentation and/or
11
+ other materials provided with the distribution.
12
+ * Neither the name of the copyright holder nor the names of its contributors may
13
+ be used to endorse or promote products derived from this software without
14
+ specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
20
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/linalg/lapack_lite/LICENSE.txt ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 1992-2013 The University of Tennessee and The University
2
+ of Tennessee Research Foundation. All rights
3
+ reserved.
4
+ Copyright (c) 2000-2013 The University of California Berkeley. All
5
+ rights reserved.
6
+ Copyright (c) 2006-2013 The University of Colorado Denver. All rights
7
+ reserved.
8
+
9
+ $COPYRIGHT$
10
+
11
+ Additional copyrights may follow
12
+
13
+ $HEADER$
14
+
15
+ Redistribution and use in source and binary forms, with or without
16
+ modification, are permitted provided that the following conditions are
17
+ met:
18
+
19
+ - Redistributions of source code must retain the above copyright
20
+ notice, this list of conditions and the following disclaimer.
21
+
22
+ - Redistributions in binary form must reproduce the above copyright
23
+ notice, this list of conditions and the following disclaimer listed
24
+ in this license in the documentation and/or other materials
25
+ provided with the distribution.
26
+
27
+ - Neither the name of the copyright holders nor the names of its
28
+ contributors may be used to endorse or promote products derived from
29
+ this software without specific prior written permission.
30
+
31
+ The copyright holders provide no reassurances that the source code
32
+ provided does not infringe any patent, copyright, or any other
33
+ intellectual property rights of third parties. The copyright holders
34
+ disclaim any liability to any recipient for claims brought against
35
+ recipient by any third party for infringement of that parties
36
+ intellectual property rights.
37
+
38
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
39
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
40
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
41
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
42
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
44
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
45
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
46
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
47
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
48
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/ma/LICENSE ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ * Copyright (c) 2006, University of Georgia and Pierre G.F. Gerard-Marchant
2
+ * All rights reserved.
3
+ * Redistribution and use in source and binary forms, with or without
4
+ * modification, are permitted provided that the following conditions are met:
5
+ *
6
+ * * Redistributions of source code must retain the above copyright
7
+ * notice, this list of conditions and the following disclaimer.
8
+ * * Redistributions in binary form must reproduce the above copyright
9
+ * notice, this list of conditions and the following disclaimer in the
10
+ * documentation and/or other materials provided with the distribution.
11
+ * * Neither the name of the University of Georgia nor the
12
+ * names of its contributors may be used to endorse or promote products
13
+ * derived from this software without specific prior written permission.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
16
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
19
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/LICENSE.md ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ **This software is dual-licensed under the The University of Illinois/NCSA
2
+ Open Source License (NCSA) and The 3-Clause BSD License**
3
+
4
+ # NCSA Open Source License
5
+ **Copyright (c) 2019 Kevin Sheppard. All rights reserved.**
6
+
7
+ Developed by: Kevin Sheppard (<kevin.sheppard@economics.ox.ac.uk>,
8
+ <kevin.k.sheppard@gmail.com>)
9
+ [http://www.kevinsheppard.com](http://www.kevinsheppard.com)
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
12
+ this software and associated documentation files (the "Software"), to deal with
13
+ the Software without restriction, including without limitation the rights to
14
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
15
+ of the Software, and to permit persons to whom the Software is furnished to do
16
+ so, subject to the following conditions:
17
+
18
+ Redistributions of source code must retain the above copyright notice, this
19
+ list of conditions and the following disclaimers.
20
+
21
+ Redistributions in binary form must reproduce the above copyright notice, this
22
+ list of conditions and the following disclaimers in the documentation and/or
23
+ other materials provided with the distribution.
24
+
25
+ Neither the names of Kevin Sheppard, nor the names of any contributors may be
26
+ used to endorse or promote products derived from this Software without specific
27
+ prior written permission.
28
+
29
+ **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
35
+ THE SOFTWARE.**
36
+
37
+
38
+ # 3-Clause BSD License
39
+ **Copyright (c) 2019 Kevin Sheppard. All rights reserved.**
40
+
41
+ Redistribution and use in source and binary forms, with or without
42
+ modification, are permitted provided that the following conditions are met:
43
+
44
+ 1. Redistributions of source code must retain the above copyright notice,
45
+ this list of conditions and the following disclaimer.
46
+
47
+ 2. Redistributions in binary form must reproduce the above copyright notice,
48
+ this list of conditions and the following disclaimer in the documentation
49
+ and/or other materials provided with the distribution.
50
+
51
+ 3. Neither the name of the copyright holder nor the names of its contributors
52
+ may be used to endorse or promote products derived from this software
53
+ without specific prior written permission.
54
+
55
+ **THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
56
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
57
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
58
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
59
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
60
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
61
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
62
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
63
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
64
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
65
+ THE POSSIBILITY OF SUCH DAMAGE.**
66
+
67
+ # Components
68
+
69
+ Many parts of this module have been derived from original sources,
70
+ often the algorithm's designer. Component licenses are located with
71
+ the component code.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/distributions/LICENSE.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## NumPy
2
+
3
+ Copyright (c) 2005-2017, NumPy Developers.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are
8
+ met:
9
+
10
+ * Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions and the following disclaimer.
12
+
13
+ * Redistributions in binary form must reproduce the above
14
+ copyright notice, this list of conditions and the following
15
+ disclaimer in the documentation and/or other materials provided
16
+ with the distribution.
17
+
18
+ * Neither the name of the NumPy Developers nor the names of any
19
+ contributors may be used to endorse or promote products derived
20
+ from this software without specific prior written permission.
21
+
22
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
+
34
+
35
+ ## Julia
36
+
37
+ The ziggurat methods were derived from Julia.
38
+
39
+ Copyright (c) 2009-2019: Jeff Bezanson, Stefan Karpinski, Viral B. Shah,
40
+ and other contributors:
41
+
42
+ https://github.com/JuliaLang/julia/contributors
43
+
44
+ Permission is hereby granted, free of charge, to any person obtaining
45
+ a copy of this software and associated documentation files (the
46
+ "Software"), to deal in the Software without restriction, including
47
+ without limitation the rights to use, copy, modify, merge, publish,
48
+ distribute, sublicense, and/or sell copies of the Software, and to
49
+ permit persons to whom the Software is furnished to do so, subject to
50
+ the following conditions:
51
+
52
+ The above copyright notice and this permission notice shall be
53
+ included in all copies or substantial portions of the Software.
54
+
55
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
56
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
57
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
58
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
59
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
60
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
61
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/mt19937/LICENSE.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # MT19937
2
+
3
+ Copyright (c) 2003-2005, Jean-Sebastien Roy (js@jeannot.org)
4
+
5
+ The rk_random and rk_seed functions algorithms and the original design of
6
+ the Mersenne Twister RNG:
7
+
8
+ Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions
13
+ are met:
14
+
15
+ 1. Redistributions of source code must retain the above copyright
16
+ notice, this list of conditions and the following disclaimer.
17
+
18
+ 2. Redistributions in binary form must reproduce the above copyright
19
+ notice, this list of conditions and the following disclaimer in the
20
+ documentation and/or other materials provided with the distribution.
21
+
22
+ 3. The names of its contributors may not be used to endorse or promote
23
+ products derived from this software without specific prior written
24
+ permission.
25
+
26
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
30
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
+
38
+ Original algorithm for the implementation of rk_interval function from
39
+ Richard J. Wagner's implementation of the Mersenne Twister RNG, optimised by
40
+ Magnus Jonsson.
41
+
42
+ Constants used in the rk_double implementation by Isaku Wada.
43
+
44
+ Permission is hereby granted, free of charge, to any person obtaining a
45
+ copy of this software and associated documentation files (the
46
+ "Software"), to deal in the Software without restriction, including
47
+ without limitation the rights to use, copy, modify, merge, publish,
48
+ distribute, sublicense, and/or sell copies of the Software, and to
49
+ permit persons to whom the Software is furnished to do so, subject to
50
+ the following conditions:
51
+
52
+ The above copyright notice and this permission notice shall be included
53
+ in all copies or substantial portions of the Software.
54
+
55
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
56
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
57
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
58
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
59
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
60
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
61
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/pcg64/LICENSE.md ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PCG64
2
+
3
+ ## The MIT License
4
+
5
+ PCG Random Number Generation for C.
6
+
7
+ Copyright 2014 Melissa O'Neill <oneill@pcg-random.org>
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining
10
+ a copy of this software and associated documentation files (the "Software"),
11
+ to deal in the Software without restriction, including without limitation
12
+ the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/philox/LICENSE.md ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PHILOX
2
+
3
+ Copyright 2010-2012, D. E. Shaw Research.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are
8
+ met:
9
+
10
+ * Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions, and the following disclaimer.
12
+
13
+ * Redistributions in binary form must reproduce the above copyright
14
+ notice, this list of conditions, and the following disclaimer in the
15
+ documentation and/or other materials provided with the distribution.
16
+
17
+ * Neither the name of D. E. Shaw Research nor the names of its
18
+ contributors may be used to endorse or promote products derived from
19
+ this software without specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/sfc64/LICENSE.md ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SFC64
2
+
3
+ ## The MIT License
4
+
5
+ Adapted from a C++ implementation of Chris Doty-Humphrey's SFC PRNG.
6
+
7
+ https://gist.github.com/imneme/f1f7821f07cf76504a97f6537c818083
8
+
9
+ Copyright (c) 2018 Melissa E. O'Neill
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a
12
+ copy of this software and associated documentation files (the "Software"),
13
+ to deal in the Software without restriction, including without limitation
14
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
15
+ and/or sell copies of the Software, and to permit persons to whom the
16
+ Software is furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in
19
+ all copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
+ DEALINGS IN THE SOFTWARE.
.venv/lib/python3.12/site-packages/numpy-2.4.3.dist-info/licenses/numpy/random/src/splitmix64/LICENSE.md ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # SPLITMIX64
2
+
3
+ Written in 2015 by Sebastiano Vigna (vigna@acm.org)
4
+
5
+ To the extent possible under law, the author has dedicated all copyright
6
+ and related and neighboring rights to this software to the public domain
7
+ worldwide. This software is distributed without any warranty.
8
+
9
+ See <http://creativecommons.org/publicdomain/zero/1.0/>.
.venv/lib/python3.12/site-packages/numpy.libs/libgfortran-040039e1-0352e75f.so.5.0.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6090048eccc763522c12ef016f81da6b627cb3a044f55cf0479a839c41c0980
3
+ size 2833617
.venv/lib/python3.12/site-packages/numpy.libs/libquadmath-96973f99-934c22de.so.0.0.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6ed5137f412781ad7863439fb543613f620b43c32b63292a0029246162f5bbc6
3
+ size 250985
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/random.pyi ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/rec.pyi ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import io
2
+ from typing import Any, TypeAlias, assert_type
3
+
4
+ import numpy as np
5
+ import numpy.typing as npt
6
+
7
+ _RecArray: TypeAlias = np.recarray[tuple[Any, ...], np.dtype[np.record]]
8
+
9
+ AR_i8: npt.NDArray[np.int64]
10
+ REC_AR_V: _RecArray
11
+ AR_LIST: list[npt.NDArray[np.int64]]
12
+
13
+ record: np.record
14
+ file_obj: io.BufferedIOBase
15
+
16
+ assert_type(np.rec.format_parser(
17
+ formats=[np.float64, np.int64, np.bool],
18
+ names=["f8", "i8", "?"],
19
+ titles=None,
20
+ aligned=True,
21
+ ), np.rec.format_parser)
22
+ assert_type(np.rec.format_parser.dtype, np.dtype[np.void])
23
+
24
+ assert_type(record.field_a, Any)
25
+ assert_type(record.field_b, Any)
26
+ assert_type(record["field_a"], Any)
27
+ assert_type(record["field_b"], Any)
28
+ assert_type(record.pprint(), str)
29
+ record.field_c = 5
30
+
31
+ assert_type(REC_AR_V.field(0), Any)
32
+ assert_type(REC_AR_V.field("field_a"), Any)
33
+ assert_type(REC_AR_V.field(0, AR_i8), None)
34
+ assert_type(REC_AR_V.field("field_a", AR_i8), None)
35
+ assert_type(REC_AR_V["field_a"], npt.NDArray[Any])
36
+ assert_type(REC_AR_V.field_a, Any)
37
+ assert_type(REC_AR_V.__array_finalize__(object()), None)
38
+
39
+ assert_type(
40
+ np.recarray(
41
+ shape=(10, 5),
42
+ formats=[np.float64, np.int64, np.bool],
43
+ order="K",
44
+ byteorder="|",
45
+ ),
46
+ _RecArray,
47
+ )
48
+
49
+ assert_type(
50
+ np.recarray(
51
+ shape=(10, 5),
52
+ dtype=[("f8", np.float64), ("i8", np.int64)],
53
+ strides=(5, 5),
54
+ ),
55
+ np.recarray,
56
+ )
57
+
58
+ assert_type(np.rec.fromarrays(AR_LIST), np.recarray)
59
+ assert_type(
60
+ np.rec.fromarrays(AR_LIST, dtype=np.int64),
61
+ np.recarray,
62
+ )
63
+ assert_type(
64
+ np.rec.fromarrays(
65
+ AR_LIST,
66
+ formats=[np.int64, np.float64],
67
+ names=["i8", "f8"]
68
+ ),
69
+ _RecArray,
70
+ )
71
+
72
+ assert_type(
73
+ np.rec.fromrecords((1, 1.5)),
74
+ _RecArray
75
+ )
76
+
77
+ assert_type(
78
+ np.rec.fromrecords(
79
+ [(1, 1.5)],
80
+ dtype=[("i8", np.int64), ("f8", np.float64)],
81
+ ),
82
+ _RecArray,
83
+ )
84
+
85
+ assert_type(
86
+ np.rec.fromrecords(
87
+ REC_AR_V,
88
+ formats=[np.int64, np.float64],
89
+ names=["i8", "f8"]
90
+ ),
91
+ _RecArray,
92
+ )
93
+
94
+ assert_type(
95
+ np.rec.fromstring(
96
+ b"(1, 1.5)",
97
+ dtype=[("i8", np.int64), ("f8", np.float64)],
98
+ ),
99
+ _RecArray,
100
+ )
101
+
102
+ assert_type(
103
+ np.rec.fromstring(
104
+ REC_AR_V,
105
+ formats=[np.int64, np.float64],
106
+ names=["i8", "f8"]
107
+ ),
108
+ _RecArray,
109
+ )
110
+
111
+ assert_type(
112
+ np.rec.fromfile(
113
+ "test_file.txt",
114
+ dtype=[("i8", np.int64), ("f8", np.float64)],
115
+ ),
116
+ np.recarray,
117
+ )
118
+
119
+ assert_type(
120
+ np.rec.fromfile(
121
+ file_obj,
122
+ formats=[np.int64, np.float64],
123
+ names=["i8", "f8"]
124
+ ),
125
+ _RecArray,
126
+ )
127
+
128
+ assert_type(np.rec.array(AR_i8), np.recarray[tuple[Any, ...], np.dtype[np.int64]])
129
+
130
+ assert_type(
131
+ np.rec.array([(1, 1.5)], dtype=[("i8", np.int64), ("f8", np.float64)]),
132
+ np.recarray,
133
+ )
134
+
135
+ assert_type(
136
+ np.rec.array(
137
+ [(1, 1.5)],
138
+ formats=[np.int64, np.float64],
139
+ names=["i8", "f8"]
140
+ ),
141
+ _RecArray,
142
+ )
143
+
144
+ assert_type(
145
+ np.rec.array(
146
+ None,
147
+ dtype=np.float64,
148
+ shape=(10, 3),
149
+ ),
150
+ np.recarray,
151
+ )
152
+
153
+ assert_type(
154
+ np.rec.array(
155
+ None,
156
+ formats=[np.int64, np.float64],
157
+ names=["i8", "f8"],
158
+ shape=(10, 3),
159
+ ),
160
+ _RecArray,
161
+ )
162
+
163
+ assert_type(
164
+ np.rec.array(file_obj, dtype=np.float64),
165
+ np.recarray,
166
+ )
167
+
168
+ assert_type(
169
+ np.rec.array(file_obj, formats=[np.int64, np.float64], names=["i8", "f8"]),
170
+ _RecArray,
171
+ )
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/scalars.pyi ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Literal, TypeAlias, assert_type
2
+
3
+ import numpy as np
4
+
5
+ _1: TypeAlias = Literal[1]
6
+
7
+ b: np.bool
8
+ u8: np.uint64
9
+ i8: np.int64
10
+ f8: np.float64
11
+ c8: np.complex64
12
+ c16: np.complex128
13
+ m: np.timedelta64
14
+ U: np.str_
15
+ S: np.bytes_
16
+ V: np.void
17
+ O: np.object_ # cannot exists at runtime
18
+
19
+ array_nd: np.ndarray[Any, Any]
20
+ array_0d: np.ndarray[tuple[()], Any]
21
+ array_2d_2x2: np.ndarray[tuple[Literal[2], Literal[2]], Any]
22
+
23
+ assert_type(c8.real, np.float32)
24
+ assert_type(c8.imag, np.float32)
25
+
26
+ assert_type(c8.real.real, np.float32)
27
+ assert_type(c8.real.imag, np.float32)
28
+
29
+ assert_type(c8.itemsize, int)
30
+ assert_type(c8.shape, tuple[()])
31
+ assert_type(c8.strides, tuple[()])
32
+
33
+ assert_type(c8.ndim, Literal[0])
34
+ assert_type(c8.size, Literal[1])
35
+
36
+ assert_type(c8.squeeze(), np.complex64)
37
+ assert_type(c8.byteswap(), np.complex64)
38
+ assert_type(c8.transpose(), np.complex64)
39
+
40
+ assert_type(c8.dtype, np.dtype[np.complex64])
41
+
42
+ assert_type(c8.real, np.float32)
43
+ assert_type(c16.imag, np.float64)
44
+
45
+ assert_type(np.str_("foo"), np.str_)
46
+
47
+ assert_type(V[0], Any)
48
+ assert_type(V["field1"], Any)
49
+ assert_type(V[["field1", "field2"]], np.void)
50
+ V[0] = 5
51
+
52
+ # Aliases
53
+ assert_type(np.bool_(), np.bool[Literal[False]])
54
+ assert_type(np.byte(), np.byte)
55
+ assert_type(np.short(), np.short)
56
+ assert_type(np.intc(), np.intc)
57
+ assert_type(np.intp(), np.intp)
58
+ assert_type(np.int_(), np.int_)
59
+ assert_type(np.long(), np.long)
60
+ assert_type(np.longlong(), np.longlong)
61
+
62
+ assert_type(np.ubyte(), np.ubyte)
63
+ assert_type(np.ushort(), np.ushort)
64
+ assert_type(np.uintc(), np.uintc)
65
+ assert_type(np.uintp(), np.uintp)
66
+ assert_type(np.uint(), np.uint)
67
+ assert_type(np.ulong(), np.ulong)
68
+ assert_type(np.ulonglong(), np.ulonglong)
69
+
70
+ assert_type(np.half(), np.half)
71
+ assert_type(np.single(), np.single)
72
+ assert_type(np.double(), np.double)
73
+ assert_type(np.longdouble(), np.longdouble)
74
+
75
+ assert_type(np.csingle(), np.csingle)
76
+ assert_type(np.cdouble(), np.cdouble)
77
+ assert_type(np.clongdouble(), np.clongdouble)
78
+
79
+ assert_type(b.item(), bool)
80
+ assert_type(i8.item(), int)
81
+ assert_type(u8.item(), int)
82
+ assert_type(f8.item(), float)
83
+ assert_type(c16.item(), complex)
84
+ assert_type(U.item(), str)
85
+ assert_type(S.item(), bytes)
86
+
87
+ assert_type(b.tolist(), bool)
88
+ assert_type(i8.tolist(), int)
89
+ assert_type(u8.tolist(), int)
90
+ assert_type(f8.tolist(), float)
91
+ assert_type(c16.tolist(), complex)
92
+ assert_type(U.tolist(), str)
93
+ assert_type(S.tolist(), bytes)
94
+
95
+ assert_type(b.ravel(), np.ndarray[tuple[int], np.dtype[np.bool]])
96
+ assert_type(i8.ravel(), np.ndarray[tuple[int], np.dtype[np.int64]])
97
+ assert_type(u8.ravel(), np.ndarray[tuple[int], np.dtype[np.uint64]])
98
+ assert_type(f8.ravel(), np.ndarray[tuple[int], np.dtype[np.float64]])
99
+ assert_type(c16.ravel(), np.ndarray[tuple[int], np.dtype[np.complex128]])
100
+ assert_type(U.ravel(), np.ndarray[tuple[int], np.dtype[np.str_]])
101
+ assert_type(S.ravel(), np.ndarray[tuple[int], np.dtype[np.bytes_]])
102
+
103
+ assert_type(b.flatten(), np.ndarray[tuple[int], np.dtype[np.bool]])
104
+ assert_type(i8.flatten(), np.ndarray[tuple[int], np.dtype[np.int64]])
105
+ assert_type(u8.flatten(), np.ndarray[tuple[int], np.dtype[np.uint64]])
106
+ assert_type(f8.flatten(), np.ndarray[tuple[int], np.dtype[np.float64]])
107
+ assert_type(c16.flatten(), np.ndarray[tuple[int], np.dtype[np.complex128]])
108
+ assert_type(U.flatten(), np.ndarray[tuple[int], np.dtype[np.str_]])
109
+ assert_type(S.flatten(), np.ndarray[tuple[int], np.dtype[np.bytes_]])
110
+
111
+ assert_type(b.reshape(()), np.bool)
112
+ assert_type(i8.reshape([]), np.int64)
113
+ assert_type(b.reshape(1), np.ndarray[tuple[_1], np.dtype[np.bool]])
114
+ assert_type(i8.reshape(-1), np.ndarray[tuple[_1], np.dtype[np.int64]])
115
+ assert_type(u8.reshape(1, 1), np.ndarray[tuple[_1, _1], np.dtype[np.uint64]])
116
+ assert_type(f8.reshape(1, -1), np.ndarray[tuple[_1, _1], np.dtype[np.float64]])
117
+ assert_type(c16.reshape(1, 1, 1), np.ndarray[tuple[_1, _1, _1], np.dtype[np.complex128]])
118
+ assert_type(U.reshape(1, 1, 1, 1), np.ndarray[tuple[_1, _1, _1, _1], np.dtype[np.str_]])
119
+ assert_type(
120
+ S.reshape(1, 1, 1, 1, 1),
121
+ np.ndarray[
122
+ # len(shape) >= 5
123
+ tuple[_1, _1, _1, _1, _1, *tuple[_1, ...]],
124
+ np.dtype[np.bytes_],
125
+ ],
126
+ )
127
+
128
+ assert_type(i8.astype(float), Any)
129
+ assert_type(i8.astype(np.float64), np.float64)
130
+
131
+ assert_type(i8.view(), np.int64)
132
+ assert_type(i8.view(np.float64), np.float64)
133
+ assert_type(i8.view(float), Any)
134
+ assert_type(i8.view(np.float64, np.ndarray), np.float64)
135
+
136
+ assert_type(i8.getfield(float), Any)
137
+ assert_type(i8.getfield(np.float64), np.float64)
138
+ assert_type(i8.getfield(np.float64, 8), np.float64)
139
+
140
+ assert_type(f8.as_integer_ratio(), tuple[int, int])
141
+ assert_type(f8.is_integer(), bool)
142
+ assert_type(f8.__trunc__(), int)
143
+ assert_type(f8.__getformat__("float"), str)
144
+ assert_type(f8.hex(), str)
145
+ assert_type(np.float64.fromhex("0x0.0p+0"), np.float64)
146
+
147
+ assert_type(f8.__getnewargs__(), tuple[float])
148
+ assert_type(c16.__getnewargs__(), tuple[float, float])
149
+
150
+ assert_type(i8.numerator, np.int64)
151
+ assert_type(i8.denominator, Literal[1])
152
+ assert_type(u8.numerator, np.uint64)
153
+ assert_type(u8.denominator, Literal[1])
154
+ assert_type(m.numerator, np.timedelta64)
155
+ assert_type(m.denominator, Literal[1])
156
+
157
+ assert_type(round(i8), int)
158
+ assert_type(round(i8, 3), np.int64)
159
+ assert_type(round(u8), int)
160
+ assert_type(round(u8, 3), np.uint64)
161
+ assert_type(round(f8), int)
162
+ assert_type(round(f8, 3), np.float64)
163
+
164
+ assert_type(f8.__ceil__(), int)
165
+ assert_type(f8.__floor__(), int)
166
+
167
+ assert_type(i8.is_integer(), Literal[True])
168
+
169
+ assert_type(O.real, np.object_)
170
+ assert_type(O.imag, np.object_)
171
+ assert_type(int(O), int)
172
+ assert_type(float(O), float)
173
+ assert_type(complex(O), complex)
174
+
175
+ # These fail fail because of a mypy __new__ bug:
176
+ # https://github.com/python/mypy/issues/15182
177
+ # According to the typing spec, the following statements are valid, see
178
+ # https://typing.readthedocs.io/en/latest/spec/constructors.html#new-method
179
+
180
+ # assert_type(np.object_(), None)
181
+ # assert_type(np.object_(None), None)
182
+ # assert_type(np.object_(array_nd), np.ndarray[Any, np.dtype[np.object_]])
183
+ # assert_type(np.object_([]), npt.NDArray[np.object_])
184
+ # assert_type(np.object_(()), npt.NDArray[np.object_])
185
+ # assert_type(np.object_(range(4)), npt.NDArray[np.object_])
186
+ # assert_type(np.object_(+42), int)
187
+ # assert_type(np.object_(1 / 137), float)
188
+ # assert_type(np.object_('Developers! ' * (1 << 6)), str)
189
+ # assert_type(np.object_(object()), object)
190
+ # assert_type(np.object_({False, True, NotADirectoryError}), set[Any])
191
+ # assert_type(np.object_({'spam': 'food', 'ham': 'food'}), dict[str, str])
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/shape.pyi ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, NamedTuple, assert_type
2
+
3
+ import numpy as np
4
+
5
+ # Subtype of tuple[int, int]
6
+ class XYGrid(NamedTuple):
7
+ x_axis: int
8
+ y_axis: int
9
+
10
+ arr: np.ndarray[XYGrid, Any]
11
+
12
+ # Test shape property matches shape typevar
13
+ assert_type(arr.shape, XYGrid)
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/shape_base.pyi ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, assert_type
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ i8: np.int64
7
+ f8: np.float64
8
+
9
+ AR_b: npt.NDArray[np.bool]
10
+ AR_i8: npt.NDArray[np.int64]
11
+ AR_f8: npt.NDArray[np.float64]
12
+
13
+ AR_LIKE_f8: list[float]
14
+
15
+ assert_type(np.take_along_axis(AR_f8, AR_i8, axis=1), npt.NDArray[np.float64])
16
+ assert_type(np.take_along_axis(f8, AR_i8, axis=None), npt.NDArray[np.float64])
17
+
18
+ assert_type(np.put_along_axis(AR_f8, AR_i8, "1.0", axis=1), None)
19
+
20
+ assert_type(np.expand_dims(AR_i8, 2), npt.NDArray[np.int64])
21
+ assert_type(np.expand_dims(AR_LIKE_f8, 2), npt.NDArray[Any])
22
+
23
+ assert_type(np.column_stack([AR_i8]), npt.NDArray[np.int64])
24
+ assert_type(np.column_stack([AR_LIKE_f8]), npt.NDArray[Any])
25
+
26
+ assert_type(np.dstack([AR_i8]), npt.NDArray[np.int64])
27
+ assert_type(np.dstack([AR_LIKE_f8]), npt.NDArray[Any])
28
+
29
+ assert_type(np.array_split(AR_i8, [3, 5, 6, 10]), list[npt.NDArray[np.int64]])
30
+ assert_type(np.array_split(AR_LIKE_f8, [3, 5, 6, 10]), list[npt.NDArray[Any]])
31
+
32
+ assert_type(np.split(AR_i8, [3, 5, 6, 10]), list[npt.NDArray[np.int64]])
33
+ assert_type(np.split(AR_LIKE_f8, [3, 5, 6, 10]), list[npt.NDArray[Any]])
34
+
35
+ assert_type(np.hsplit(AR_i8, [3, 5, 6, 10]), list[npt.NDArray[np.int64]])
36
+ assert_type(np.hsplit(AR_LIKE_f8, [3, 5, 6, 10]), list[npt.NDArray[Any]])
37
+
38
+ assert_type(np.vsplit(AR_i8, [3, 5, 6, 10]), list[npt.NDArray[np.int64]])
39
+ assert_type(np.vsplit(AR_LIKE_f8, [3, 5, 6, 10]), list[npt.NDArray[Any]])
40
+
41
+ assert_type(np.dsplit(AR_i8, [3, 5, 6, 10]), list[npt.NDArray[np.int64]])
42
+ assert_type(np.dsplit(AR_LIKE_f8, [3, 5, 6, 10]), list[npt.NDArray[Any]])
43
+
44
+ assert_type(np.kron(AR_b, AR_b), npt.NDArray[np.bool])
45
+ assert_type(np.kron(AR_b, AR_i8), npt.NDArray[np.signedinteger])
46
+ assert_type(np.kron(AR_f8, AR_f8), npt.NDArray[np.floating])
47
+
48
+ assert_type(np.tile(AR_i8, 5), npt.NDArray[np.int64])
49
+ assert_type(np.tile(AR_LIKE_f8, [2, 2]), npt.NDArray[Any])
50
+
51
+ assert_type(np.unstack(AR_i8, axis=0), tuple[npt.NDArray[np.int64], ...])
52
+ assert_type(np.unstack(AR_LIKE_f8, axis=0), tuple[npt.NDArray[Any], ...])
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/stride_tricks.pyi ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, assert_type
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ AR_f8: npt.NDArray[np.float64]
7
+ AR_LIKE_f: list[float]
8
+ interface_dict: dict[str, Any]
9
+
10
+ assert_type(np.lib.stride_tricks.as_strided(AR_f8), npt.NDArray[np.float64])
11
+ assert_type(np.lib.stride_tricks.as_strided(AR_LIKE_f), npt.NDArray[Any])
12
+ assert_type(np.lib.stride_tricks.as_strided(AR_f8, strides=(1, 5)), npt.NDArray[np.float64])
13
+ assert_type(np.lib.stride_tricks.as_strided(AR_f8, shape=[9, 20]), npt.NDArray[np.float64])
14
+
15
+ assert_type(np.lib.stride_tricks.sliding_window_view(AR_f8, 5), npt.NDArray[np.float64])
16
+ assert_type(np.lib.stride_tricks.sliding_window_view(AR_LIKE_f, (1, 5)), npt.NDArray[Any])
17
+ assert_type(np.lib.stride_tricks.sliding_window_view(AR_f8, [9], axis=1), npt.NDArray[np.float64])
18
+
19
+ assert_type(np.broadcast_to(AR_f8, 5), npt.NDArray[np.float64])
20
+ assert_type(np.broadcast_to(AR_LIKE_f, (1, 5)), npt.NDArray[Any])
21
+ assert_type(np.broadcast_to(AR_f8, [4, 6], subok=True), npt.NDArray[np.float64])
22
+
23
+ assert_type(np.broadcast_shapes((1, 2), [3, 1], (3, 2)), tuple[Any, ...])
24
+ assert_type(np.broadcast_shapes((6, 7), (5, 6, 1), 7, (5, 1, 7)), tuple[Any, ...])
25
+
26
+ assert_type(np.broadcast_arrays(AR_f8, AR_f8), tuple[npt.NDArray[Any], ...])
27
+ assert_type(np.broadcast_arrays(AR_f8, AR_LIKE_f), tuple[npt.NDArray[Any], ...])
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/strings.pyi ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import TypeAlias, assert_type
2
+
3
+ import numpy as np
4
+ import numpy._typing as np_t
5
+ import numpy.typing as npt
6
+
7
+ AR_T_alias: TypeAlias = np.ndarray[np_t._AnyShape, np.dtypes.StringDType]
8
+ AR_TU_alias: TypeAlias = AR_T_alias | npt.NDArray[np.str_]
9
+
10
+ AR_U: npt.NDArray[np.str_]
11
+ AR_S: npt.NDArray[np.bytes_]
12
+ AR_T: AR_T_alias
13
+
14
+ assert_type(np.strings.equal(AR_U, AR_U), npt.NDArray[np.bool])
15
+ assert_type(np.strings.equal(AR_S, AR_S), npt.NDArray[np.bool])
16
+ assert_type(np.strings.equal(AR_T, AR_T), npt.NDArray[np.bool])
17
+
18
+ assert_type(np.strings.not_equal(AR_U, AR_U), npt.NDArray[np.bool])
19
+ assert_type(np.strings.not_equal(AR_S, AR_S), npt.NDArray[np.bool])
20
+ assert_type(np.strings.not_equal(AR_T, AR_T), npt.NDArray[np.bool])
21
+
22
+ assert_type(np.strings.greater_equal(AR_U, AR_U), npt.NDArray[np.bool])
23
+ assert_type(np.strings.greater_equal(AR_S, AR_S), npt.NDArray[np.bool])
24
+ assert_type(np.strings.greater_equal(AR_T, AR_T), npt.NDArray[np.bool])
25
+
26
+ assert_type(np.strings.less_equal(AR_U, AR_U), npt.NDArray[np.bool])
27
+ assert_type(np.strings.less_equal(AR_S, AR_S), npt.NDArray[np.bool])
28
+ assert_type(np.strings.less_equal(AR_T, AR_T), npt.NDArray[np.bool])
29
+
30
+ assert_type(np.strings.greater(AR_U, AR_U), npt.NDArray[np.bool])
31
+ assert_type(np.strings.greater(AR_S, AR_S), npt.NDArray[np.bool])
32
+ assert_type(np.strings.greater(AR_T, AR_T), npt.NDArray[np.bool])
33
+
34
+ assert_type(np.strings.less(AR_U, AR_U), npt.NDArray[np.bool])
35
+ assert_type(np.strings.less(AR_S, AR_S), npt.NDArray[np.bool])
36
+ assert_type(np.strings.less(AR_T, AR_T), npt.NDArray[np.bool])
37
+
38
+ assert_type(np.strings.add(AR_U, AR_U), npt.NDArray[np.str_])
39
+ assert_type(np.strings.add(AR_S, AR_S), npt.NDArray[np.bytes_])
40
+ assert_type(np.strings.add(AR_T, AR_T), AR_T_alias)
41
+
42
+ assert_type(np.strings.multiply(AR_U, 5), npt.NDArray[np.str_])
43
+ assert_type(np.strings.multiply(AR_S, [5, 4, 3]), npt.NDArray[np.bytes_])
44
+ assert_type(np.strings.multiply(AR_T, 5), AR_T_alias)
45
+
46
+ assert_type(np.strings.mod(AR_U, "test"), npt.NDArray[np.str_])
47
+ assert_type(np.strings.mod(AR_S, "test"), npt.NDArray[np.bytes_])
48
+ assert_type(np.strings.mod(AR_T, "test"), AR_T_alias)
49
+
50
+ assert_type(np.strings.capitalize(AR_U), npt.NDArray[np.str_])
51
+ assert_type(np.strings.capitalize(AR_S), npt.NDArray[np.bytes_])
52
+ assert_type(np.strings.capitalize(AR_T), AR_T_alias)
53
+
54
+ assert_type(np.strings.center(AR_U, 5), npt.NDArray[np.str_])
55
+ assert_type(np.strings.center(AR_S, [2, 3, 4], b"a"), npt.NDArray[np.bytes_])
56
+ assert_type(np.strings.center(AR_T, 5), AR_T_alias)
57
+
58
+ assert_type(np.strings.encode(AR_U), npt.NDArray[np.bytes_])
59
+ assert_type(np.strings.encode(AR_T), npt.NDArray[np.bytes_])
60
+ assert_type(np.strings.decode(AR_S), npt.NDArray[np.str_])
61
+
62
+ assert_type(np.strings.expandtabs(AR_U), npt.NDArray[np.str_])
63
+ assert_type(np.strings.expandtabs(AR_S, tabsize=4), npt.NDArray[np.bytes_])
64
+ assert_type(np.strings.expandtabs(AR_T), AR_T_alias)
65
+
66
+ assert_type(np.strings.ljust(AR_U, 5), npt.NDArray[np.str_])
67
+ assert_type(np.strings.ljust(AR_S, [4, 3, 1], fillchar=[b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
68
+ assert_type(np.strings.ljust(AR_T, 5), AR_T_alias)
69
+ assert_type(np.strings.ljust(AR_T, [4, 2, 1], fillchar=["a", "b", "c"]), AR_T_alias)
70
+
71
+ assert_type(np.strings.rjust(AR_U, 5), npt.NDArray[np.str_])
72
+ assert_type(np.strings.rjust(AR_S, [4, 3, 1], fillchar=[b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
73
+ assert_type(np.strings.rjust(AR_T, 5), AR_T_alias)
74
+ assert_type(np.strings.rjust(AR_T, [4, 2, 1], fillchar=["a", "b", "c"]), AR_T_alias)
75
+
76
+ assert_type(np.strings.lstrip(AR_U), npt.NDArray[np.str_])
77
+ assert_type(np.strings.lstrip(AR_S, b"_"), npt.NDArray[np.bytes_])
78
+ assert_type(np.strings.lstrip(AR_T), AR_T_alias)
79
+ assert_type(np.strings.lstrip(AR_T, "_"), AR_T_alias)
80
+
81
+ assert_type(np.strings.rstrip(AR_U), npt.NDArray[np.str_])
82
+ assert_type(np.strings.rstrip(AR_S, b"_"), npt.NDArray[np.bytes_])
83
+ assert_type(np.strings.rstrip(AR_T), AR_T_alias)
84
+ assert_type(np.strings.rstrip(AR_T, "_"), AR_T_alias)
85
+
86
+ assert_type(np.strings.strip(AR_U), npt.NDArray[np.str_])
87
+ assert_type(np.strings.strip(AR_S, b"_"), npt.NDArray[np.bytes_])
88
+ assert_type(np.strings.strip(AR_T), AR_T_alias)
89
+ assert_type(np.strings.strip(AR_T, "_"), AR_T_alias)
90
+
91
+ assert_type(np.strings.count(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
92
+ assert_type(np.strings.count(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
93
+ assert_type(np.strings.count(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
94
+ assert_type(np.strings.count(AR_T, ["a", "b", "c"], end=9), npt.NDArray[np.int_])
95
+
96
+ assert_type(np.strings.partition(AR_U, "\n"), npt.NDArray[np.str_])
97
+ assert_type(np.strings.partition(AR_S, [b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
98
+ assert_type(np.strings.partition(AR_T, "\n"), AR_TU_alias)
99
+
100
+ assert_type(np.strings.rpartition(AR_U, "\n"), npt.NDArray[np.str_])
101
+ assert_type(np.strings.rpartition(AR_S, [b"a", b"b", b"c"]), npt.NDArray[np.bytes_])
102
+ assert_type(np.strings.rpartition(AR_T, "\n"), AR_TU_alias)
103
+
104
+ assert_type(np.strings.replace(AR_U, "_", "-"), npt.NDArray[np.str_])
105
+ assert_type(np.strings.replace(AR_S, [b"_", b""], [b"a", b"b"]), npt.NDArray[np.bytes_])
106
+ assert_type(np.strings.replace(AR_T, "_", "_"), AR_TU_alias)
107
+
108
+ assert_type(np.strings.lower(AR_U), npt.NDArray[np.str_])
109
+ assert_type(np.strings.lower(AR_S), npt.NDArray[np.bytes_])
110
+ assert_type(np.strings.lower(AR_T), AR_T_alias)
111
+
112
+ assert_type(np.strings.upper(AR_U), npt.NDArray[np.str_])
113
+ assert_type(np.strings.upper(AR_S), npt.NDArray[np.bytes_])
114
+ assert_type(np.strings.upper(AR_T), AR_T_alias)
115
+
116
+ assert_type(np.strings.swapcase(AR_U), npt.NDArray[np.str_])
117
+ assert_type(np.strings.swapcase(AR_S), npt.NDArray[np.bytes_])
118
+ assert_type(np.strings.swapcase(AR_T), AR_T_alias)
119
+
120
+ assert_type(np.strings.title(AR_U), npt.NDArray[np.str_])
121
+ assert_type(np.strings.title(AR_S), npt.NDArray[np.bytes_])
122
+ assert_type(np.strings.title(AR_T), AR_T_alias)
123
+
124
+ assert_type(np.strings.zfill(AR_U, 5), npt.NDArray[np.str_])
125
+ assert_type(np.strings.zfill(AR_S, [2, 3, 4]), npt.NDArray[np.bytes_])
126
+ assert_type(np.strings.zfill(AR_T, 5), AR_T_alias)
127
+
128
+ assert_type(np.strings.endswith(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
129
+ assert_type(np.strings.endswith(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.bool])
130
+ assert_type(np.strings.endswith(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
131
+
132
+ assert_type(np.strings.startswith(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
133
+ assert_type(np.strings.startswith(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.bool])
134
+ assert_type(np.strings.startswith(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.bool])
135
+
136
+ assert_type(np.strings.find(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
137
+ assert_type(np.strings.find(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
138
+ assert_type(np.strings.find(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
139
+
140
+ assert_type(np.strings.rfind(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
141
+ assert_type(np.strings.rfind(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
142
+ assert_type(np.strings.rfind(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
143
+
144
+ assert_type(np.strings.index(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
145
+ assert_type(np.strings.index(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
146
+ assert_type(np.strings.index(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
147
+
148
+ assert_type(np.strings.rindex(AR_U, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
149
+ assert_type(np.strings.rindex(AR_S, [b"a", b"b", b"c"], end=9), npt.NDArray[np.int_])
150
+ assert_type(np.strings.rindex(AR_T, "a", start=[1, 2, 3]), npt.NDArray[np.int_])
151
+
152
+ assert_type(np.strings.isalpha(AR_U), npt.NDArray[np.bool])
153
+ assert_type(np.strings.isalpha(AR_S), npt.NDArray[np.bool])
154
+ assert_type(np.strings.isalpha(AR_T), npt.NDArray[np.bool])
155
+
156
+ assert_type(np.strings.isalnum(AR_U), npt.NDArray[np.bool])
157
+ assert_type(np.strings.isalnum(AR_S), npt.NDArray[np.bool])
158
+ assert_type(np.strings.isalnum(AR_T), npt.NDArray[np.bool])
159
+
160
+ assert_type(np.strings.isdecimal(AR_U), npt.NDArray[np.bool])
161
+ assert_type(np.strings.isdecimal(AR_T), npt.NDArray[np.bool])
162
+
163
+ assert_type(np.strings.isdigit(AR_U), npt.NDArray[np.bool])
164
+ assert_type(np.strings.isdigit(AR_S), npt.NDArray[np.bool])
165
+ assert_type(np.strings.isdigit(AR_T), npt.NDArray[np.bool])
166
+
167
+ assert_type(np.strings.islower(AR_U), npt.NDArray[np.bool])
168
+ assert_type(np.strings.islower(AR_S), npt.NDArray[np.bool])
169
+ assert_type(np.strings.islower(AR_T), npt.NDArray[np.bool])
170
+
171
+ assert_type(np.strings.isnumeric(AR_U), npt.NDArray[np.bool])
172
+ assert_type(np.strings.isnumeric(AR_T), npt.NDArray[np.bool])
173
+
174
+ assert_type(np.strings.isspace(AR_U), npt.NDArray[np.bool])
175
+ assert_type(np.strings.isspace(AR_S), npt.NDArray[np.bool])
176
+ assert_type(np.strings.isspace(AR_T), npt.NDArray[np.bool])
177
+
178
+ assert_type(np.strings.istitle(AR_U), npt.NDArray[np.bool])
179
+ assert_type(np.strings.istitle(AR_S), npt.NDArray[np.bool])
180
+ assert_type(np.strings.istitle(AR_T), npt.NDArray[np.bool])
181
+
182
+ assert_type(np.strings.isupper(AR_U), npt.NDArray[np.bool])
183
+ assert_type(np.strings.isupper(AR_S), npt.NDArray[np.bool])
184
+ assert_type(np.strings.isupper(AR_T), npt.NDArray[np.bool])
185
+
186
+ assert_type(np.strings.str_len(AR_U), npt.NDArray[np.int_])
187
+ assert_type(np.strings.str_len(AR_S), npt.NDArray[np.int_])
188
+ assert_type(np.strings.str_len(AR_T), npt.NDArray[np.int_])
189
+
190
+ assert_type(np.strings.translate(AR_U, ""), npt.NDArray[np.str_])
191
+ assert_type(np.strings.translate(AR_S, ""), npt.NDArray[np.bytes_])
192
+ assert_type(np.strings.translate(AR_T, ""), AR_T_alias)
193
+
194
+ assert_type(np.strings.slice(AR_U, 1, 5, 2), npt.NDArray[np.str_])
195
+ assert_type(np.strings.slice(AR_S, 1, 5, 2), npt.NDArray[np.bytes_])
196
+ assert_type(np.strings.slice(AR_T, 1, 5, 2), AR_T_alias)
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/testing.pyi ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import contextlib
2
+ import re
3
+ import sys
4
+ import types
5
+ import unittest
6
+ import warnings
7
+ from collections.abc import Callable
8
+ from pathlib import Path
9
+ from typing import Any, TypeVar, assert_type
10
+
11
+ import numpy as np
12
+ import numpy.typing as npt
13
+
14
+ AR_f8: npt.NDArray[np.float64]
15
+ AR_i8: npt.NDArray[np.int64]
16
+
17
+ bool_obj: bool
18
+ suppress_obj: np.testing.suppress_warnings # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
19
+ FT = TypeVar("FT", bound=Callable[..., Any])
20
+
21
+ def func() -> int: ...
22
+
23
+ def func2(
24
+ x: npt.NDArray[np.number],
25
+ y: npt.NDArray[np.number],
26
+ ) -> npt.NDArray[np.bool]: ...
27
+
28
+ assert_type(np.testing.KnownFailureException(), np.testing.KnownFailureException)
29
+ assert_type(np.testing.IgnoreException(), np.testing.IgnoreException)
30
+
31
+ assert_type(
32
+ np.testing.clear_and_catch_warnings(modules=[np.testing]),
33
+ np.testing.clear_and_catch_warnings[None],
34
+ )
35
+ assert_type(
36
+ np.testing.clear_and_catch_warnings(True),
37
+ np.testing.clear_and_catch_warnings[list[warnings.WarningMessage]],
38
+ )
39
+ assert_type(
40
+ np.testing.clear_and_catch_warnings(False),
41
+ np.testing.clear_and_catch_warnings[None],
42
+ )
43
+ assert_type(
44
+ np.testing.clear_and_catch_warnings(bool_obj),
45
+ np.testing.clear_and_catch_warnings,
46
+ )
47
+ assert_type(
48
+ np.testing.clear_and_catch_warnings.class_modules,
49
+ tuple[types.ModuleType, ...],
50
+ )
51
+ assert_type(
52
+ np.testing.clear_and_catch_warnings.modules,
53
+ set[types.ModuleType],
54
+ )
55
+
56
+ with np.testing.clear_and_catch_warnings(True) as c1:
57
+ assert_type(c1, list[warnings.WarningMessage])
58
+ with np.testing.clear_and_catch_warnings() as c2:
59
+ assert_type(c2, None)
60
+
61
+ assert_type(np.testing.suppress_warnings("once"), np.testing.suppress_warnings) # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
62
+ assert_type(np.testing.suppress_warnings()(func), Callable[[], int]) # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
63
+ assert_type(suppress_obj.filter(RuntimeWarning), None)
64
+ assert_type(suppress_obj.record(RuntimeWarning), list[warnings.WarningMessage])
65
+ with suppress_obj as c3:
66
+ assert_type(c3, np.testing.suppress_warnings) # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
67
+
68
+ assert_type(np.testing.verbose, int)
69
+ assert_type(np.testing.IS_PYPY, bool)
70
+ assert_type(np.testing.HAS_REFCOUNT, bool)
71
+ assert_type(np.testing.HAS_LAPACK64, bool)
72
+
73
+ assert_type(np.testing.assert_(1, msg="test"), None)
74
+ assert_type(np.testing.assert_(2, msg=lambda: "test"), None)
75
+
76
+ if sys.platform == "win32" or sys.platform == "cygwin":
77
+ assert_type(np.testing.memusage(), int)
78
+ elif sys.platform == "linux":
79
+ assert_type(np.testing.memusage(), int | None)
80
+
81
+ assert_type(np.testing.jiffies(), int)
82
+
83
+ assert_type(np.testing.build_err_msg([0, 1, 2], "test"), str)
84
+ assert_type(np.testing.build_err_msg(range(2), "test", header="header"), str)
85
+ assert_type(np.testing.build_err_msg(np.arange(9).reshape(3, 3), "test", verbose=False), str)
86
+ assert_type(np.testing.build_err_msg("abc", "test", names=["x", "y"]), str)
87
+ assert_type(np.testing.build_err_msg([1.0, 2.0], "test", precision=5), str)
88
+
89
+ assert_type(np.testing.assert_equal({1}, {1}), None)
90
+ assert_type(np.testing.assert_equal([1, 2, 3], [1, 2, 3], err_msg="fail"), None)
91
+ assert_type(np.testing.assert_equal(1, 1.0, verbose=True), None)
92
+
93
+ assert_type(np.testing.print_assert_equal("Test XYZ of func xyz", [0, 1], [0, 1]), None)
94
+
95
+ assert_type(np.testing.assert_almost_equal(1.0, 1.1), None)
96
+ assert_type(np.testing.assert_almost_equal([1, 2, 3], [1, 2, 3], err_msg="fail"), None)
97
+ assert_type(np.testing.assert_almost_equal(1, 1.0, verbose=True), None)
98
+ assert_type(np.testing.assert_almost_equal(1, 1.0001, decimal=2), None)
99
+
100
+ assert_type(np.testing.assert_approx_equal(1.0, 1.1), None)
101
+ assert_type(np.testing.assert_approx_equal("1", "2", err_msg="fail"), None)
102
+ assert_type(np.testing.assert_approx_equal(1, 1.0, verbose=True), None)
103
+ assert_type(np.testing.assert_approx_equal(1, 1.0001, significant=2), None)
104
+
105
+ assert_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, err_msg="test"), None)
106
+ assert_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, verbose=True), None)
107
+ assert_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, header="header"), None)
108
+ assert_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, precision=np.int64()), None)
109
+ assert_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, equal_nan=False), None)
110
+ assert_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, equal_inf=True), None)
111
+
112
+ assert_type(np.testing.assert_array_equal(AR_i8, AR_f8), None)
113
+ assert_type(np.testing.assert_array_equal(AR_i8, AR_f8, err_msg="test"), None)
114
+ assert_type(np.testing.assert_array_equal(AR_i8, AR_f8, verbose=True), None)
115
+
116
+ assert_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8), None)
117
+ assert_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8, err_msg="test"), None)
118
+ assert_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8, verbose=True), None)
119
+ assert_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8, decimal=1), None)
120
+
121
+ assert_type(np.testing.assert_array_less(AR_i8, AR_f8), None)
122
+ assert_type(np.testing.assert_array_less(AR_i8, AR_f8, err_msg="test"), None)
123
+ assert_type(np.testing.assert_array_less(AR_i8, AR_f8, verbose=True), None)
124
+
125
+ assert_type(np.testing.runstring("1 + 1", {}), Any)
126
+ assert_type(np.testing.runstring("int64() + 1", {"int64": np.int64}), Any)
127
+
128
+ assert_type(np.testing.assert_string_equal("1", "1"), None)
129
+
130
+ assert_type(np.testing.rundocs(), None)
131
+ assert_type(np.testing.rundocs("test.py"), None)
132
+ assert_type(np.testing.rundocs(Path("test.py"), raise_on_error=True), None)
133
+
134
+ def func3(a: int) -> bool: ...
135
+
136
+ assert_type(
137
+ np.testing.assert_raises(RuntimeWarning),
138
+ unittest.case._AssertRaisesContext[RuntimeWarning],
139
+ )
140
+ assert_type(np.testing.assert_raises(RuntimeWarning, func3, 5), None)
141
+
142
+ assert_type(
143
+ np.testing.assert_raises_regex(RuntimeWarning, r"test"),
144
+ unittest.case._AssertRaisesContext[RuntimeWarning],
145
+ )
146
+ assert_type(np.testing.assert_raises_regex(RuntimeWarning, b"test", func3, 5), None)
147
+ assert_type(np.testing.assert_raises_regex(RuntimeWarning, re.compile(b"test"), func3, 5), None)
148
+
149
+ class Test: ...
150
+
151
+ def decorate(a: FT) -> FT:
152
+ return a
153
+
154
+ assert_type(np.testing.decorate_methods(Test, decorate), None)
155
+ assert_type(np.testing.decorate_methods(Test, decorate, None), None)
156
+ assert_type(np.testing.decorate_methods(Test, decorate, "test"), None)
157
+ assert_type(np.testing.decorate_methods(Test, decorate, b"test"), None)
158
+ assert_type(np.testing.decorate_methods(Test, decorate, re.compile("test")), None)
159
+
160
+ assert_type(np.testing.measure("for i in range(1000): np.sqrt(i**2)"), float)
161
+ assert_type(np.testing.measure(b"for i in range(1000): np.sqrt(i**2)", times=5), float)
162
+
163
+ assert_type(np.testing.assert_allclose(AR_i8, AR_f8), None)
164
+ assert_type(np.testing.assert_allclose(AR_i8, AR_f8, rtol=0.005), None)
165
+ assert_type(np.testing.assert_allclose(AR_i8, AR_f8, atol=1), None)
166
+ assert_type(np.testing.assert_allclose(AR_i8, AR_f8, equal_nan=True), None)
167
+ assert_type(np.testing.assert_allclose(AR_i8, AR_f8, err_msg="err"), None)
168
+ assert_type(np.testing.assert_allclose(AR_i8, AR_f8, verbose=False), None)
169
+
170
+ assert_type(np.testing.assert_array_almost_equal_nulp(AR_i8, AR_f8, nulp=2), None)
171
+
172
+ assert_type(np.testing.assert_array_max_ulp(AR_i8, AR_f8, maxulp=2), npt.NDArray[Any])
173
+ assert_type(np.testing.assert_array_max_ulp(AR_i8, AR_f8, dtype=np.float32), npt.NDArray[Any])
174
+
175
+ assert_type(np.testing.assert_warns(RuntimeWarning), contextlib._GeneratorContextManager[None]) # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
176
+ assert_type(np.testing.assert_warns(RuntimeWarning, func3, 5), bool) # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
177
+
178
+ def func4(a: int, b: str) -> bool: ...
179
+
180
+ assert_type(np.testing.assert_no_warnings(), contextlib._GeneratorContextManager[None])
181
+ assert_type(np.testing.assert_no_warnings(func3, 5), bool)
182
+ assert_type(np.testing.assert_no_warnings(func4, a=1, b="test"), bool)
183
+ assert_type(np.testing.assert_no_warnings(func4, 1, "test"), bool)
184
+
185
+ assert_type(np.testing.tempdir("test_dir"), contextlib._GeneratorContextManager[str])
186
+ assert_type(np.testing.tempdir(prefix=b"test"), contextlib._GeneratorContextManager[bytes])
187
+ assert_type(np.testing.tempdir("test_dir", dir=Path("here")), contextlib._GeneratorContextManager[str])
188
+
189
+ assert_type(np.testing.temppath("test_dir", text=True), contextlib._GeneratorContextManager[str])
190
+ assert_type(np.testing.temppath(prefix=b"test"), contextlib._GeneratorContextManager[bytes])
191
+ assert_type(np.testing.temppath("test_dir", dir=Path("here")), contextlib._GeneratorContextManager[str])
192
+
193
+ assert_type(np.testing.assert_no_gc_cycles(), contextlib._GeneratorContextManager[None])
194
+ assert_type(np.testing.assert_no_gc_cycles(func3, 5), None)
195
+
196
+ assert_type(np.testing.break_cycles(), None)
197
+
198
+ assert_type(np.testing.TestCase(), unittest.case.TestCase)
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi ADDED
@@ -0,0 +1,225 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, TypeAlias, TypeVar, assert_type, type_check_only
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ _ScalarT = TypeVar("_ScalarT", bound=np.generic)
7
+
8
+ _1D: TypeAlias = tuple[int]
9
+ _2D: TypeAlias = tuple[int, int]
10
+ _ND: TypeAlias = tuple[Any, ...]
11
+
12
+ _Indices2D: TypeAlias = tuple[
13
+ np.ndarray[_1D, np.dtype[np.intp]],
14
+ np.ndarray[_1D, np.dtype[np.intp]],
15
+ ]
16
+
17
+ ###
18
+
19
+ _nd_bool: np.ndarray[_ND, np.dtype[np.bool]]
20
+ _1d_bool: np.ndarray[_1D, np.dtype[np.bool]]
21
+ _2d_bool: np.ndarray[_2D, np.dtype[np.bool]]
22
+ _nd_u64: np.ndarray[_ND, np.dtype[np.uint64]]
23
+ _nd_i64: np.ndarray[_ND, np.dtype[np.int64]]
24
+ _nd_f64: np.ndarray[_ND, np.dtype[np.float64]]
25
+ _nd_c128: np.ndarray[_ND, np.dtype[np.complex128]]
26
+ _nd_obj: np.ndarray[_ND, np.dtype[np.object_]]
27
+
28
+ _to_nd_bool: list[bool] | list[list[bool]]
29
+ _to_1d_bool: list[bool]
30
+ _to_2d_bool: list[list[bool]]
31
+
32
+ _to_1d_f64: list[float]
33
+ _to_1d_c128: list[complex]
34
+
35
+ @type_check_only
36
+ def func1(ar: npt.NDArray[_ScalarT], a: int) -> npt.NDArray[_ScalarT]: ...
37
+ @type_check_only
38
+ def func2(ar: npt.NDArray[np.number], a: str) -> npt.NDArray[np.float64]: ...
39
+
40
+ @type_check_only
41
+ class _Cube:
42
+ shape = 3, 4
43
+ ndim = 2
44
+
45
+ ###
46
+
47
+ # fliplr
48
+ assert_type(np.fliplr(_nd_bool), np.ndarray[_ND, np.dtype[np.bool]])
49
+ assert_type(np.fliplr(_1d_bool), np.ndarray[_1D, np.dtype[np.bool]])
50
+ assert_type(np.fliplr(_2d_bool), np.ndarray[_2D, np.dtype[np.bool]])
51
+ assert_type(np.fliplr(_to_nd_bool), np.ndarray)
52
+ assert_type(np.fliplr(_to_1d_bool), np.ndarray)
53
+ assert_type(np.fliplr(_to_2d_bool), np.ndarray)
54
+
55
+ # flipud
56
+ assert_type(np.flipud(_nd_bool), np.ndarray[_ND, np.dtype[np.bool]])
57
+ assert_type(np.flipud(_1d_bool), np.ndarray[_1D, np.dtype[np.bool]])
58
+ assert_type(np.flipud(_2d_bool), np.ndarray[_2D, np.dtype[np.bool]])
59
+ assert_type(np.flipud(_to_nd_bool), np.ndarray)
60
+ assert_type(np.flipud(_to_1d_bool), np.ndarray)
61
+ assert_type(np.flipud(_to_2d_bool), np.ndarray)
62
+
63
+ # eye
64
+ assert_type(np.eye(10), np.ndarray[_2D, np.dtype[np.float64]])
65
+ assert_type(np.eye(10, M=20, dtype=np.int64), np.ndarray[_2D, np.dtype[np.int64]])
66
+ assert_type(np.eye(10, k=2, dtype=int), np.ndarray[_2D])
67
+
68
+ # diag
69
+ assert_type(np.diag(_nd_bool), np.ndarray[_ND, np.dtype[np.bool]])
70
+ assert_type(np.diag(_1d_bool), np.ndarray[_2D, np.dtype[np.bool]])
71
+ assert_type(np.diag(_2d_bool), np.ndarray[_1D, np.dtype[np.bool]])
72
+ assert_type(np.diag(_to_nd_bool, k=0), np.ndarray)
73
+ assert_type(np.diag(_to_1d_bool, k=0), np.ndarray[_2D])
74
+ assert_type(np.diag(_to_2d_bool, k=0), np.ndarray[_1D])
75
+
76
+ # diagflat
77
+ assert_type(np.diagflat(_nd_bool), np.ndarray[_2D, np.dtype[np.bool]])
78
+ assert_type(np.diagflat(_1d_bool), np.ndarray[_2D, np.dtype[np.bool]])
79
+ assert_type(np.diagflat(_2d_bool), np.ndarray[_2D, np.dtype[np.bool]])
80
+ assert_type(np.diagflat(_to_nd_bool, k=0), np.ndarray[_2D])
81
+ assert_type(np.diagflat(_to_1d_bool, k=0), np.ndarray[_2D])
82
+ assert_type(np.diagflat(_to_2d_bool, k=0), np.ndarray[_2D])
83
+
84
+ # tri
85
+ assert_type(np.tri(10), np.ndarray[_2D, np.dtype[np.float64]])
86
+ assert_type(np.tri(10, M=20, dtype=np.int64), np.ndarray[_2D, np.dtype[np.int64]])
87
+ assert_type(np.tri(10, k=2, dtype=int), np.ndarray[_2D])
88
+
89
+ # tril
90
+ assert_type(np.tril(_nd_bool), np.ndarray[_ND, np.dtype[np.bool]])
91
+ assert_type(np.tril(_to_nd_bool, k=0), np.ndarray)
92
+ assert_type(np.tril(_to_1d_bool, k=0), np.ndarray)
93
+ assert_type(np.tril(_to_2d_bool, k=0), np.ndarray)
94
+
95
+ # triu
96
+ assert_type(np.triu(_nd_bool), np.ndarray[_ND, np.dtype[np.bool]])
97
+ assert_type(np.triu(_to_nd_bool, k=0), np.ndarray)
98
+ assert_type(np.triu(_to_1d_bool, k=0), np.ndarray)
99
+ assert_type(np.triu(_to_2d_bool, k=0), np.ndarray)
100
+
101
+ # vander
102
+ assert_type(np.vander(_nd_bool), np.ndarray[_2D, np.dtype[np.int_]])
103
+ assert_type(np.vander(_nd_u64), np.ndarray[_2D, np.dtype[np.uint64]])
104
+ assert_type(np.vander(_nd_i64, N=2), np.ndarray[_2D, np.dtype[np.int64]])
105
+ assert_type(np.vander(_nd_f64, increasing=True), np.ndarray[_2D, np.dtype[np.float64]])
106
+ assert_type(np.vander(_nd_c128), np.ndarray[_2D, np.dtype[np.complex128]])
107
+ assert_type(np.vander(_nd_obj), np.ndarray[_2D, np.dtype[np.object_]])
108
+
109
+ # histogram2d
110
+ assert_type(
111
+ np.histogram2d(_to_1d_f64, _to_1d_f64),
112
+ tuple[
113
+ np.ndarray[_2D, np.dtype[np.float64]],
114
+ np.ndarray[_1D, np.dtype[np.float64]],
115
+ np.ndarray[_1D, np.dtype[np.float64]],
116
+ ],
117
+ )
118
+ assert_type(
119
+ np.histogram2d(_to_1d_c128, _to_1d_c128),
120
+ tuple[
121
+ np.ndarray[_2D, np.dtype[np.float64]],
122
+ np.ndarray[_1D, np.dtype[np.complex128 | Any]],
123
+ np.ndarray[_1D, np.dtype[np.complex128 | Any]],
124
+ ],
125
+ )
126
+ assert_type(
127
+ np.histogram2d(_nd_i64, _nd_bool),
128
+ tuple[
129
+ np.ndarray[_2D, np.dtype[np.float64]],
130
+ np.ndarray[_1D, np.dtype[np.float64]],
131
+ np.ndarray[_1D, np.dtype[np.float64]],
132
+ ],
133
+ )
134
+ assert_type(
135
+ np.histogram2d(_nd_f64, _nd_i64),
136
+ tuple[
137
+ np.ndarray[_2D, np.dtype[np.float64]],
138
+ np.ndarray[_1D, np.dtype[np.float64]],
139
+ np.ndarray[_1D, np.dtype[np.float64]],
140
+ ],
141
+ )
142
+ assert_type(
143
+ np.histogram2d(_nd_i64, _nd_f64),
144
+ tuple[
145
+ np.ndarray[_2D, np.dtype[np.float64]],
146
+ np.ndarray[_1D, np.dtype[np.float64]],
147
+ np.ndarray[_1D, np.dtype[np.float64]],
148
+ ],
149
+ )
150
+ assert_type(
151
+ np.histogram2d(_nd_f64, _nd_c128, weights=_to_1d_bool),
152
+ tuple[
153
+ np.ndarray[_2D, np.dtype[np.float64]],
154
+ np.ndarray[_1D, np.dtype[np.complex128]],
155
+ np.ndarray[_1D, np.dtype[np.complex128]],
156
+ ],
157
+ )
158
+ assert_type(
159
+ np.histogram2d(_nd_f64, _nd_c128, bins=8),
160
+ tuple[
161
+ np.ndarray[_2D, np.dtype[np.float64]],
162
+ np.ndarray[_1D, np.dtype[np.complex128]],
163
+ np.ndarray[_1D, np.dtype[np.complex128]],
164
+ ],
165
+ )
166
+ assert_type(
167
+ np.histogram2d(_nd_c128, _nd_f64, bins=(8, 5)),
168
+ tuple[
169
+ np.ndarray[_2D, np.dtype[np.float64]],
170
+ np.ndarray[_1D, np.dtype[np.complex128]],
171
+ np.ndarray[_1D, np.dtype[np.complex128]],
172
+ ],
173
+ )
174
+ assert_type(
175
+ np.histogram2d(_nd_c128, _nd_i64, bins=_nd_u64),
176
+ tuple[
177
+ np.ndarray[_2D, np.dtype[np.float64]],
178
+ np.ndarray[_1D, np.dtype[np.uint64]],
179
+ np.ndarray[_1D, np.dtype[np.uint64]],
180
+ ],
181
+ )
182
+ assert_type(
183
+ np.histogram2d(_nd_c128, _nd_c128, bins=(_nd_u64, _nd_u64)),
184
+ tuple[
185
+ np.ndarray[_2D, np.dtype[np.float64]],
186
+ np.ndarray[_1D, np.dtype[np.uint64]],
187
+ np.ndarray[_1D, np.dtype[np.uint64]],
188
+ ],
189
+ )
190
+ assert_type(
191
+ np.histogram2d(_nd_c128, _nd_c128, bins=(_nd_bool, 8)),
192
+ tuple[
193
+ np.ndarray[_2D, np.dtype[np.float64]],
194
+ np.ndarray[_1D, np.dtype[np.complex128 | np.bool]],
195
+ np.ndarray[_1D, np.dtype[np.complex128 | np.bool]],
196
+ ],
197
+ )
198
+ assert_type(
199
+ np.histogram2d(_nd_c128, _nd_c128, bins=(_to_1d_f64, 8)),
200
+ tuple[
201
+ np.ndarray[_2D, np.dtype[np.float64]],
202
+ np.ndarray[_1D, np.dtype[np.complex128 | Any]],
203
+ np.ndarray[_1D, np.dtype[np.complex128 | Any]],
204
+ ],
205
+ )
206
+
207
+ # mask_indices
208
+ assert_type(np.mask_indices(10, func1), _Indices2D)
209
+ assert_type(np.mask_indices(8, func2, "0"), _Indices2D)
210
+
211
+ # tril_indices
212
+ assert_type(np.tril_indices(3), _Indices2D)
213
+ assert_type(np.tril_indices(3, 1), _Indices2D)
214
+ assert_type(np.tril_indices(3, 1, 2), _Indices2D)
215
+ # tril_indices
216
+ assert_type(np.triu_indices(3), _Indices2D)
217
+ assert_type(np.triu_indices(3, 1), _Indices2D)
218
+ assert_type(np.triu_indices(3, 1, 2), _Indices2D)
219
+
220
+ # tril_indices_from
221
+ assert_type(np.tril_indices_from(_2d_bool), _Indices2D)
222
+ assert_type(np.tril_indices_from(_Cube()), _Indices2D)
223
+ # triu_indices_from
224
+ assert_type(np.triu_indices_from(_2d_bool), _Indices2D)
225
+ assert_type(np.triu_indices_from(_Cube()), _Indices2D)
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/type_check.pyi ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Literal, assert_type
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ f8: np.float64
7
+ f: float
8
+
9
+ # NOTE: Avoid importing the platform specific `np.float128` type
10
+ AR_i8: npt.NDArray[np.int64]
11
+ AR_i4: npt.NDArray[np.int32]
12
+ AR_f2: npt.NDArray[np.float16]
13
+ AR_f8: npt.NDArray[np.float64]
14
+ AR_f16: npt.NDArray[np.longdouble]
15
+ AR_c8: npt.NDArray[np.complex64]
16
+ AR_c16: npt.NDArray[np.complex128]
17
+
18
+ AR_LIKE_f: list[float]
19
+
20
+ class ComplexObj:
21
+ real: slice
22
+ imag: slice
23
+
24
+ assert_type(np.mintypecode(["f8"], typeset="qfQF"), str)
25
+
26
+ assert_type(np.real(ComplexObj()), slice)
27
+ assert_type(np.real(AR_f8), npt.NDArray[np.float64])
28
+ assert_type(np.real(AR_c16), npt.NDArray[np.float64])
29
+ assert_type(np.real(AR_LIKE_f), npt.NDArray[Any])
30
+
31
+ assert_type(np.imag(ComplexObj()), slice)
32
+ assert_type(np.imag(AR_f8), npt.NDArray[np.float64])
33
+ assert_type(np.imag(AR_c16), npt.NDArray[np.float64])
34
+ assert_type(np.imag(AR_LIKE_f), npt.NDArray[Any])
35
+
36
+ assert_type(np.iscomplex(f8), np.bool)
37
+ assert_type(np.iscomplex(AR_f8), npt.NDArray[np.bool])
38
+ assert_type(np.iscomplex(AR_LIKE_f), npt.NDArray[np.bool])
39
+
40
+ assert_type(np.isreal(f8), np.bool)
41
+ assert_type(np.isreal(AR_f8), npt.NDArray[np.bool])
42
+ assert_type(np.isreal(AR_LIKE_f), npt.NDArray[np.bool])
43
+
44
+ assert_type(np.iscomplexobj(f8), bool)
45
+ assert_type(np.isrealobj(f8), bool)
46
+
47
+ assert_type(np.nan_to_num(f8), np.float64)
48
+ assert_type(np.nan_to_num(f, copy=True), Any)
49
+ assert_type(np.nan_to_num(AR_f8, nan=1.5), npt.NDArray[np.float64])
50
+ assert_type(np.nan_to_num(AR_LIKE_f, posinf=9999), npt.NDArray[Any])
51
+
52
+ assert_type(np.real_if_close(AR_f8), npt.NDArray[np.float64])
53
+ assert_type(np.real_if_close(AR_c16), npt.NDArray[np.float64 | np.complex128])
54
+ assert_type(np.real_if_close(AR_c8), npt.NDArray[np.float32 | np.complex64])
55
+ assert_type(np.real_if_close(AR_LIKE_f), npt.NDArray[Any])
56
+
57
+ assert_type(np.typename("h"), Literal["short"])
58
+ assert_type(np.typename("B"), Literal["unsigned char"])
59
+ assert_type(np.typename("V"), Literal["void"])
60
+ assert_type(np.typename("S1"), Literal["character"])
61
+
62
+ assert_type(np.common_type(AR_i4), type[np.float64])
63
+ assert_type(np.common_type(AR_f2), type[np.float16])
64
+ assert_type(np.common_type(AR_f2, AR_i4), type[np.float64])
65
+ assert_type(np.common_type(AR_f16, AR_i4), type[np.longdouble])
66
+ assert_type(np.common_type(AR_c8, AR_f2), type[np.complex64])
67
+ assert_type(np.common_type(AR_f2, AR_c8, AR_i4), type[np.complexfloating])
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/ufunc_config.pyi ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Typing tests for `_core._ufunc_config`."""
2
+
3
+ from _typeshed import SupportsWrite
4
+ from collections.abc import Callable
5
+ from typing import Any, assert_type
6
+
7
+ import numpy as np
8
+
9
+ def func(a: str, b: int) -> None: ...
10
+
11
+ class Write:
12
+ def write(self, value: str) -> None: ...
13
+
14
+ assert_type(np.seterr(all=None), np._core._ufunc_config._ErrDict)
15
+ assert_type(np.seterr(divide="ignore"), np._core._ufunc_config._ErrDict)
16
+ assert_type(np.seterr(over="warn"), np._core._ufunc_config._ErrDict)
17
+ assert_type(np.seterr(under="call"), np._core._ufunc_config._ErrDict)
18
+ assert_type(np.seterr(invalid="raise"), np._core._ufunc_config._ErrDict)
19
+ assert_type(np.geterr(), np._core._ufunc_config._ErrDict)
20
+
21
+ assert_type(np.setbufsize(4096), int)
22
+ assert_type(np.getbufsize(), int)
23
+
24
+ assert_type(np.seterrcall(func), Callable[[str, int], Any] | SupportsWrite[str] | None)
25
+ assert_type(np.seterrcall(Write()), Callable[[str, int], Any] | SupportsWrite[str] | None)
26
+ assert_type(np.geterrcall(), Callable[[str, int], Any] | SupportsWrite[str] | None)
27
+
28
+ assert_type(np.errstate(call=func, all="call"), np.errstate)
29
+ assert_type(np.errstate(call=Write(), divide="log", over="log"), np.errstate)
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/ufunclike.pyi ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import assert_type
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ AR_LIKE_b: list[bool]
7
+ AR_LIKE_u: list[np.uint32]
8
+ AR_LIKE_i: list[int]
9
+ AR_LIKE_f: list[float]
10
+ AR_LIKE_O: list[np.object_]
11
+
12
+ AR_U: npt.NDArray[np.str_]
13
+
14
+ assert_type(np.fix(AR_LIKE_b), npt.NDArray[np.floating]) # type: ignore[deprecated]
15
+ assert_type(np.fix(AR_LIKE_u), npt.NDArray[np.floating]) # type: ignore[deprecated]
16
+ assert_type(np.fix(AR_LIKE_i), npt.NDArray[np.floating]) # type: ignore[deprecated]
17
+ assert_type(np.fix(AR_LIKE_f), npt.NDArray[np.floating]) # type: ignore[deprecated]
18
+ assert_type(np.fix(AR_LIKE_O), npt.NDArray[np.object_]) # type: ignore[deprecated]
19
+ assert_type(np.fix(AR_LIKE_f, out=AR_U), npt.NDArray[np.str_]) # type: ignore[deprecated]
20
+
21
+ assert_type(np.isposinf(AR_LIKE_b), npt.NDArray[np.bool])
22
+ assert_type(np.isposinf(AR_LIKE_u), npt.NDArray[np.bool])
23
+ assert_type(np.isposinf(AR_LIKE_i), npt.NDArray[np.bool])
24
+ assert_type(np.isposinf(AR_LIKE_f), npt.NDArray[np.bool])
25
+ assert_type(np.isposinf(AR_LIKE_f, out=AR_U), npt.NDArray[np.str_])
26
+
27
+ assert_type(np.isneginf(AR_LIKE_b), npt.NDArray[np.bool])
28
+ assert_type(np.isneginf(AR_LIKE_u), npt.NDArray[np.bool])
29
+ assert_type(np.isneginf(AR_LIKE_i), npt.NDArray[np.bool])
30
+ assert_type(np.isneginf(AR_LIKE_f), npt.NDArray[np.bool])
31
+ assert_type(np.isneginf(AR_LIKE_f, out=AR_U), npt.NDArray[np.str_])
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Literal, NoReturn, assert_type
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ i8: np.int64
7
+ f8: np.float64
8
+ AR_f8: npt.NDArray[np.float64]
9
+ AR_i8: npt.NDArray[np.int64]
10
+
11
+ assert_type(np.absolute.__doc__, str)
12
+ assert_type(np.absolute.types, list[str])
13
+
14
+ assert_type(np.absolute.__name__, Literal["absolute"])
15
+ assert_type(np.absolute.__qualname__, Literal["absolute"])
16
+ assert_type(np.absolute.ntypes, Literal[20])
17
+ assert_type(np.absolute.identity, None)
18
+ assert_type(np.absolute.nin, Literal[1])
19
+ assert_type(np.absolute.nin, Literal[1])
20
+ assert_type(np.absolute.nout, Literal[1])
21
+ assert_type(np.absolute.nargs, Literal[2])
22
+ assert_type(np.absolute.signature, None)
23
+ assert_type(np.absolute(f8), Any)
24
+ assert_type(np.absolute(AR_f8), npt.NDArray[Any])
25
+ assert_type(np.absolute.at(AR_f8, AR_i8), None)
26
+
27
+ assert_type(np.add.__name__, Literal["add"])
28
+ assert_type(np.add.__qualname__, Literal["add"])
29
+ assert_type(np.add.ntypes, Literal[22])
30
+ assert_type(np.add.identity, Literal[0])
31
+ assert_type(np.add.nin, Literal[2])
32
+ assert_type(np.add.nout, Literal[1])
33
+ assert_type(np.add.nargs, Literal[3])
34
+ assert_type(np.add.signature, None)
35
+ assert_type(np.add(f8, f8), Any)
36
+ assert_type(np.add(AR_f8, f8), npt.NDArray[Any])
37
+ assert_type(np.add.at(AR_f8, AR_i8, f8), None)
38
+ assert_type(np.add.reduce(AR_f8, axis=0), Any)
39
+ assert_type(np.add.accumulate(AR_f8), npt.NDArray[Any])
40
+ assert_type(np.add.reduceat(AR_f8, AR_i8), npt.NDArray[Any])
41
+ assert_type(np.add.outer(f8, f8), Any)
42
+ assert_type(np.add.outer(AR_f8, f8), npt.NDArray[Any])
43
+
44
+ assert_type(np.frexp.__name__, Literal["frexp"])
45
+ assert_type(np.frexp.__qualname__, Literal["frexp"])
46
+ assert_type(np.frexp.ntypes, Literal[4])
47
+ assert_type(np.frexp.identity, None)
48
+ assert_type(np.frexp.nin, Literal[1])
49
+ assert_type(np.frexp.nout, Literal[2])
50
+ assert_type(np.frexp.nargs, Literal[3])
51
+ assert_type(np.frexp.signature, None)
52
+ assert_type(np.frexp(f8), tuple[Any, Any])
53
+ assert_type(np.frexp(AR_f8), tuple[npt.NDArray[Any], npt.NDArray[Any]])
54
+
55
+ assert_type(np.divmod.__name__, Literal["divmod"])
56
+ assert_type(np.divmod.__qualname__, Literal["divmod"])
57
+ assert_type(np.divmod.ntypes, Literal[15])
58
+ assert_type(np.divmod.identity, None)
59
+ assert_type(np.divmod.nin, Literal[2])
60
+ assert_type(np.divmod.nout, Literal[2])
61
+ assert_type(np.divmod.nargs, Literal[4])
62
+ assert_type(np.divmod.signature, None)
63
+ assert_type(np.divmod(f8, f8), tuple[Any, Any])
64
+ assert_type(np.divmod(AR_f8, f8), tuple[npt.NDArray[Any], npt.NDArray[Any]])
65
+
66
+ assert_type(np.matmul.__name__, Literal["matmul"])
67
+ assert_type(np.matmul.__qualname__, Literal["matmul"])
68
+ assert_type(np.matmul.ntypes, Literal[19])
69
+ assert_type(np.matmul.identity, None)
70
+ assert_type(np.matmul.nin, Literal[2])
71
+ assert_type(np.matmul.nout, Literal[1])
72
+ assert_type(np.matmul.nargs, Literal[3])
73
+ assert_type(np.matmul.signature, Literal["(n?,k),(k,m?)->(n?,m?)"])
74
+ assert_type(np.matmul.identity, None)
75
+ assert_type(np.matmul(AR_f8, AR_f8), Any)
76
+ assert_type(np.matmul(AR_f8, AR_f8, axes=[(0, 1), (0, 1), (0, 1)]), Any)
77
+
78
+ assert_type(np.vecdot.__name__, Literal["vecdot"])
79
+ assert_type(np.vecdot.__qualname__, Literal["vecdot"])
80
+ assert_type(np.vecdot.ntypes, Literal[19])
81
+ assert_type(np.vecdot.identity, None)
82
+ assert_type(np.vecdot.nin, Literal[2])
83
+ assert_type(np.vecdot.nout, Literal[1])
84
+ assert_type(np.vecdot.nargs, Literal[3])
85
+ assert_type(np.vecdot.signature, Literal["(n),(n)->()"])
86
+ assert_type(np.vecdot.identity, None)
87
+ assert_type(np.vecdot(AR_f8, AR_f8), Any)
88
+
89
+ assert_type(np.bitwise_count.__name__, Literal["bitwise_count"])
90
+ assert_type(np.bitwise_count.__qualname__, Literal["bitwise_count"])
91
+ assert_type(np.bitwise_count.ntypes, Literal[11])
92
+ assert_type(np.bitwise_count.identity, None)
93
+ assert_type(np.bitwise_count.nin, Literal[1])
94
+ assert_type(np.bitwise_count.nout, Literal[1])
95
+ assert_type(np.bitwise_count.nargs, Literal[2])
96
+ assert_type(np.bitwise_count.signature, None)
97
+ assert_type(np.bitwise_count.identity, None)
98
+ assert_type(np.bitwise_count(i8), Any)
99
+ assert_type(np.bitwise_count(AR_i8), npt.NDArray[Any])
100
+
101
+ def test_absolute_outer_invalid() -> None:
102
+ assert_type(np.absolute.outer(AR_f8, AR_f8), NoReturn) # type: ignore[arg-type]
103
+ def test_frexp_outer_invalid() -> None:
104
+ assert_type(np.frexp.outer(AR_f8, AR_f8), NoReturn) # type: ignore[arg-type]
105
+ def test_divmod_outer_invalid() -> None:
106
+ assert_type(np.divmod.outer(AR_f8, AR_f8), NoReturn) # type: ignore[arg-type]
107
+ def test_matmul_outer_invalid() -> None:
108
+ assert_type(np.matmul.outer(AR_f8, AR_f8), NoReturn) # type: ignore[arg-type]
109
+
110
+ def test_absolute_reduceat_invalid() -> None:
111
+ assert_type(np.absolute.reduceat(AR_f8, AR_i8), NoReturn) # type: ignore[arg-type]
112
+ def test_frexp_reduceat_invalid() -> None:
113
+ assert_type(np.frexp.reduceat(AR_f8, AR_i8), NoReturn) # type: ignore[arg-type]
114
+ def test_divmod_reduceat_invalid() -> None:
115
+ assert_type(np.divmod.reduceat(AR_f8, AR_i8), NoReturn) # type: ignore[arg-type]
116
+ def test_matmul_reduceat_invalid() -> None:
117
+ assert_type(np.matmul.reduceat(AR_f8, AR_i8), NoReturn) # type: ignore[arg-type]
118
+
119
+ def test_absolute_reduce_invalid() -> None:
120
+ assert_type(np.absolute.reduce(AR_f8), NoReturn) # type: ignore[arg-type]
121
+ def test_frexp_reduce_invalid() -> None:
122
+ assert_type(np.frexp.reduce(AR_f8), NoReturn) # type: ignore[arg-type]
123
+ def test_divmod_reduce_invalid() -> None:
124
+ assert_type(np.divmod.reduce(AR_f8), NoReturn) # type: ignore[arg-type]
125
+ def test_matmul_reduce_invalid() -> None:
126
+ assert_type(np.matmul.reduce(AR_f8), NoReturn) # type: ignore[arg-type]
127
+
128
+ def test_absolute_accumulate_invalid() -> None:
129
+ assert_type(np.absolute.accumulate(AR_f8), NoReturn) # type: ignore[arg-type]
130
+ def test_frexp_accumulate_invalid() -> None:
131
+ assert_type(np.frexp.accumulate(AR_f8), NoReturn) # type: ignore[arg-type]
132
+ def test_divmod_accumulate_invalid() -> None:
133
+ assert_type(np.divmod.accumulate(AR_f8), NoReturn) # type: ignore[arg-type]
134
+ def test_matmul_accumulate_invalid() -> None:
135
+ assert_type(np.matmul.accumulate(AR_f8), NoReturn) # type: ignore[arg-type]
136
+
137
+ def test_frexp_at_invalid() -> None:
138
+ assert_type(np.frexp.at(AR_f8, i8), NoReturn) # type: ignore[arg-type]
139
+ def test_divmod_at_invalid() -> None:
140
+ assert_type(np.divmod.at(AR_f8, i8, AR_f8), NoReturn) # type: ignore[arg-type]
141
+ def test_matmul_at_invalid() -> None:
142
+ assert_type(np.matmul.at(AR_f8, i8, AR_f8), NoReturn) # type: ignore[arg-type]
.venv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import assert_type
2
+
3
+ import numpy.exceptions as ex
4
+
5
+ assert_type(ex.ModuleDeprecationWarning(), ex.ModuleDeprecationWarning)
6
+ assert_type(ex.VisibleDeprecationWarning(), ex.VisibleDeprecationWarning)
7
+ assert_type(ex.ComplexWarning(), ex.ComplexWarning)
8
+ assert_type(ex.RankWarning(), ex.RankWarning)
9
+ assert_type(ex.TooHardError(), ex.TooHardError)
10
+ assert_type(ex.AxisError("test"), ex.AxisError)
11
+ assert_type(ex.AxisError(5, 1), ex.AxisError)
.venv/lib/python3.12/site-packages/numpy/typing/tests/test_isfile.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ from pathlib import Path
4
+
5
+ import pytest
6
+
7
+ import numpy as np
8
+ from numpy.testing import assert_
9
+
10
+ ROOT = Path(np.__file__).parents[0]
11
+ FILES = [
12
+ ROOT / "py.typed",
13
+ ROOT / "__init__.pyi",
14
+ ROOT / "ctypeslib" / "__init__.pyi",
15
+ ROOT / "_core" / "__init__.pyi",
16
+ ROOT / "f2py" / "__init__.pyi",
17
+ ROOT / "fft" / "__init__.pyi",
18
+ ROOT / "lib" / "__init__.pyi",
19
+ ROOT / "linalg" / "__init__.pyi",
20
+ ROOT / "ma" / "__init__.pyi",
21
+ ROOT / "matrixlib" / "__init__.pyi",
22
+ ROOT / "polynomial" / "__init__.pyi",
23
+ ROOT / "random" / "__init__.pyi",
24
+ ROOT / "testing" / "__init__.pyi",
25
+ ]
26
+ if sys.version_info < (3, 12):
27
+ FILES += [ROOT / "distutils" / "__init__.pyi"]
28
+
29
+
30
+ @pytest.mark.thread_unsafe(
31
+ reason="os.path has a thread-safety bug (python/cpython#140054). "
32
+ "Expected to only be a problem in 3.14.0"
33
+ )
34
+ class TestIsFile:
35
+ def test_isfile(self):
36
+ """Test if all ``.pyi`` files are properly installed."""
37
+ for file in FILES:
38
+ assert_(os.path.isfile(file))
.venv/lib/python3.12/site-packages/numpy/typing/tests/test_runtime.py ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Test the runtime usage of `numpy.typing`."""
2
+
3
+ from typing import (
4
+ Any,
5
+ NamedTuple,
6
+ Union, # pyright: ignore[reportDeprecated]
7
+ get_args,
8
+ get_origin,
9
+ get_type_hints,
10
+ )
11
+
12
+ import pytest
13
+
14
+ import numpy as np
15
+ import numpy._typing as _npt
16
+ import numpy.typing as npt
17
+
18
+
19
+ class TypeTup(NamedTuple):
20
+ typ: type
21
+ args: tuple[type, ...]
22
+ origin: type | None
23
+
24
+
25
+ def _flatten_type_alias(t: Any) -> Any:
26
+ # "flattens" a TypeAliasType to its underlying type alias
27
+ return getattr(t, "__value__", t)
28
+
29
+
30
+ NDArrayTup = TypeTup(npt.NDArray, npt.NDArray.__args__, np.ndarray)
31
+
32
+ TYPES = {
33
+ "ArrayLike": TypeTup(
34
+ _flatten_type_alias(npt.ArrayLike),
35
+ _flatten_type_alias(npt.ArrayLike).__args__,
36
+ Union,
37
+ ),
38
+ "DTypeLike": TypeTup(
39
+ _flatten_type_alias(npt.DTypeLike),
40
+ _flatten_type_alias(npt.DTypeLike).__args__,
41
+ Union,
42
+ ),
43
+ "NBitBase": TypeTup(npt.NBitBase, (), None), # type: ignore[deprecated] # pyright: ignore[reportDeprecated]
44
+ "NDArray": NDArrayTup,
45
+ }
46
+
47
+
48
+ @pytest.mark.parametrize("name,tup", TYPES.items(), ids=TYPES.keys())
49
+ def test_get_args(name: type, tup: TypeTup) -> None:
50
+ """Test `typing.get_args`."""
51
+ typ, ref = tup.typ, tup.args
52
+ out = get_args(typ)
53
+ assert out == ref
54
+
55
+
56
+ @pytest.mark.parametrize("name,tup", TYPES.items(), ids=TYPES.keys())
57
+ def test_get_origin(name: type, tup: TypeTup) -> None:
58
+ """Test `typing.get_origin`."""
59
+ typ, ref = tup.typ, tup.origin
60
+ out = get_origin(typ)
61
+ assert out == ref
62
+
63
+
64
+ @pytest.mark.parametrize("name,tup", TYPES.items(), ids=TYPES.keys())
65
+ def test_get_type_hints(name: type, tup: TypeTup) -> None:
66
+ """Test `typing.get_type_hints`."""
67
+ typ = tup.typ
68
+
69
+ def func(a: typ) -> None: pass
70
+
71
+ out = get_type_hints(func)
72
+ ref = {"a": typ, "return": type(None)}
73
+ assert out == ref
74
+
75
+
76
+ @pytest.mark.parametrize("name,tup", TYPES.items(), ids=TYPES.keys())
77
+ def test_get_type_hints_str(name: type, tup: TypeTup) -> None:
78
+ """Test `typing.get_type_hints` with string-representation of types."""
79
+ typ_str, typ = f"npt.{name}", tup.typ
80
+
81
+ def func(a: typ_str) -> None: pass
82
+
83
+ out = get_type_hints(func)
84
+ ref = {"a": getattr(npt, str(name)), "return": type(None)}
85
+ assert out == ref
86
+
87
+
88
+ def test_keys() -> None:
89
+ """Test that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced."""
90
+ keys = TYPES.keys()
91
+ ref = set(npt.__all__)
92
+ assert keys == ref
93
+
94
+
95
+ PROTOCOLS: dict[str, tuple[type[Any], object]] = {
96
+ "_SupportsArray": (_npt._SupportsArray, np.arange(10)),
97
+ "_SupportsArrayFunc": (_npt._SupportsArrayFunc, np.arange(10)),
98
+ "_NestedSequence": (_npt._NestedSequence, [1]),
99
+ }
100
+
101
+
102
+ @pytest.mark.parametrize("cls,obj", PROTOCOLS.values(), ids=PROTOCOLS.keys())
103
+ class TestRuntimeProtocol:
104
+ def test_isinstance(self, cls: type[Any], obj: object) -> None:
105
+ assert isinstance(obj, cls)
106
+ assert not isinstance(None, cls)
107
+
108
+ def test_issubclass(self, cls: type[Any], obj: object) -> None:
109
+ assert issubclass(type(obj), cls)
110
+ assert not issubclass(type(None), cls)
.venv/lib/python3.12/site-packages/numpy/typing/tests/test_typing.py ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import importlib.util
2
+ import os
3
+ import re
4
+ import shutil
5
+ import textwrap
6
+ from collections import defaultdict
7
+ from typing import TYPE_CHECKING
8
+
9
+ import pytest
10
+
11
+ # Only trigger a full `mypy` run if this environment variable is set
12
+ # Note that these tests tend to take over a minute even on a macOS M1 CPU,
13
+ # and more than that in CI.
14
+ RUN_MYPY = "NPY_RUN_MYPY_IN_TESTSUITE" in os.environ
15
+ if RUN_MYPY and RUN_MYPY not in ('0', '', 'false'):
16
+ RUN_MYPY = True
17
+
18
+ # Skips all functions in this file
19
+ pytestmark = pytest.mark.skipif(
20
+ not RUN_MYPY,
21
+ reason="`NPY_RUN_MYPY_IN_TESTSUITE` not set"
22
+ )
23
+
24
+
25
+ try:
26
+ from mypy import api
27
+ except ImportError:
28
+ NO_MYPY = True
29
+ else:
30
+ NO_MYPY = False
31
+
32
+ if TYPE_CHECKING:
33
+ from collections.abc import Iterator
34
+
35
+ # We need this as annotation, but it's located in a private namespace.
36
+ # As a compromise, do *not* import it during runtime
37
+ from _pytest.mark.structures import ParameterSet
38
+
39
+ DATA_DIR = os.path.join(os.path.dirname(__file__), "data")
40
+ PASS_DIR = os.path.join(DATA_DIR, "pass")
41
+ FAIL_DIR = os.path.join(DATA_DIR, "fail")
42
+ REVEAL_DIR = os.path.join(DATA_DIR, "reveal")
43
+ MISC_DIR = os.path.join(DATA_DIR, "misc")
44
+ MYPY_INI = os.path.join(DATA_DIR, "mypy.ini")
45
+ CACHE_DIR = os.path.join(DATA_DIR, ".mypy_cache")
46
+
47
+ #: A dictionary with file names as keys and lists of the mypy stdout as values.
48
+ #: To-be populated by `run_mypy`.
49
+ OUTPUT_MYPY: defaultdict[str, list[str]] = defaultdict(list)
50
+
51
+
52
+ def _key_func(key: str) -> str:
53
+ """Split at the first occurrence of the ``:`` character.
54
+
55
+ Windows drive-letters (*e.g.* ``C:``) are ignored herein.
56
+ """
57
+ drive, tail = os.path.splitdrive(key)
58
+ return os.path.join(drive, tail.split(":", 1)[0])
59
+
60
+
61
+ def _strip_filename(msg: str) -> tuple[int, str]:
62
+ """Strip the filename and line number from a mypy message."""
63
+ _, tail = os.path.splitdrive(msg)
64
+ _, lineno, msg = tail.split(":", 2)
65
+ return int(lineno), msg.strip()
66
+
67
+
68
+ def strip_func(match: re.Match[str]) -> str:
69
+ """`re.sub` helper function for stripping module names."""
70
+ return match.groups()[1]
71
+
72
+
73
+ @pytest.fixture(scope="module", autouse=True)
74
+ def run_mypy() -> None:
75
+ """Clears the cache and run mypy before running any of the typing tests.
76
+
77
+ The mypy results are cached in `OUTPUT_MYPY` for further use.
78
+
79
+ The cache refresh can be skipped using
80
+
81
+ NUMPY_TYPING_TEST_CLEAR_CACHE=0 pytest numpy/typing/tests
82
+ """
83
+ if (
84
+ os.path.isdir(CACHE_DIR)
85
+ and bool(os.environ.get("NUMPY_TYPING_TEST_CLEAR_CACHE", True)) # noqa: PLW1508
86
+ ):
87
+ shutil.rmtree(CACHE_DIR)
88
+
89
+ split_pattern = re.compile(r"(\s+)?\^(\~+)?")
90
+ for directory in (PASS_DIR, REVEAL_DIR, FAIL_DIR, MISC_DIR):
91
+ # Run mypy
92
+ stdout, stderr, exit_code = api.run([
93
+ "--config-file",
94
+ MYPY_INI,
95
+ "--cache-dir",
96
+ CACHE_DIR,
97
+ directory,
98
+ ])
99
+ if stderr:
100
+ pytest.fail(f"Unexpected mypy standard error\n\n{stderr}", False)
101
+ elif exit_code not in {0, 1}:
102
+ pytest.fail(f"Unexpected mypy exit code: {exit_code}\n\n{stdout}", False)
103
+
104
+ str_concat = ""
105
+ filename: str | None = None
106
+ for i in stdout.split("\n"):
107
+ if "note:" in i:
108
+ continue
109
+ if filename is None:
110
+ filename = _key_func(i)
111
+
112
+ str_concat += f"{i}\n"
113
+ if split_pattern.match(i) is not None:
114
+ OUTPUT_MYPY[filename].append(str_concat)
115
+ str_concat = ""
116
+ filename = None
117
+
118
+
119
+ def get_test_cases(*directories: str) -> "Iterator[ParameterSet]":
120
+ for directory in directories:
121
+ for root, _, files in os.walk(directory):
122
+ for fname in files:
123
+ short_fname, ext = os.path.splitext(fname)
124
+ if ext not in (".pyi", ".py"):
125
+ continue
126
+
127
+ fullpath = os.path.join(root, fname)
128
+ yield pytest.param(fullpath, id=short_fname)
129
+
130
+
131
+ _FAIL_INDENT = " " * 4
132
+ _FAIL_SEP = "\n" + "_" * 79 + "\n\n"
133
+
134
+ _FAIL_MSG_REVEAL = """{}:{} - reveal mismatch:
135
+
136
+ {}"""
137
+
138
+
139
+ @pytest.mark.slow
140
+ @pytest.mark.skipif(NO_MYPY, reason="Mypy is not installed")
141
+ @pytest.mark.parametrize("path", get_test_cases(PASS_DIR, FAIL_DIR))
142
+ def test_pass(path) -> None:
143
+ # Alias `OUTPUT_MYPY` so that it appears in the local namespace
144
+ output_mypy = OUTPUT_MYPY
145
+
146
+ if path not in output_mypy:
147
+ return
148
+
149
+ relpath = os.path.relpath(path)
150
+
151
+ # collect any reported errors, and clean up the output
152
+ messages = []
153
+ for message in output_mypy[path]:
154
+ lineno, content = _strip_filename(message)
155
+ content = content.removeprefix("error:").lstrip()
156
+ messages.append(f"{relpath}:{lineno} - {content}")
157
+
158
+ if messages:
159
+ pytest.fail("\n".join(messages), pytrace=False)
160
+
161
+
162
+ @pytest.mark.slow
163
+ @pytest.mark.skipif(NO_MYPY, reason="Mypy is not installed")
164
+ @pytest.mark.parametrize("path", get_test_cases(REVEAL_DIR))
165
+ def test_reveal(path: str) -> None:
166
+ """Validate that mypy correctly infers the return-types of
167
+ the expressions in `path`.
168
+ """
169
+ __tracebackhide__ = True
170
+
171
+ output_mypy = OUTPUT_MYPY
172
+ if path not in output_mypy:
173
+ return
174
+
175
+ relpath = os.path.relpath(path)
176
+
177
+ # collect any reported errors, and clean up the output
178
+ failures = []
179
+ for error_line in output_mypy[path]:
180
+ lineno, error_msg = _strip_filename(error_line)
181
+ error_msg = textwrap.indent(error_msg, _FAIL_INDENT)
182
+ reason = _FAIL_MSG_REVEAL.format(relpath, lineno, error_msg)
183
+ failures.append(reason)
184
+
185
+ if failures:
186
+ reasons = _FAIL_SEP.join(failures)
187
+ pytest.fail(reasons, pytrace=False)
188
+
189
+
190
+ @pytest.mark.slow
191
+ @pytest.mark.skipif(NO_MYPY, reason="Mypy is not installed")
192
+ @pytest.mark.parametrize("path", get_test_cases(PASS_DIR))
193
+ def test_code_runs(path: str) -> None:
194
+ """Validate that the code in `path` properly during runtime."""
195
+ path_without_extension, _ = os.path.splitext(path)
196
+ dirname, filename = path.split(os.sep)[-2:]
197
+
198
+ spec = importlib.util.spec_from_file_location(
199
+ f"{dirname}.{filename}", path
200
+ )
201
+ assert spec is not None
202
+ assert spec.loader is not None
203
+
204
+ test_module = importlib.util.module_from_spec(spec)
205
+ spec.loader.exec_module(test_module)
.venv/lib/python3.12/site-packages/numpy/version.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ """
3
+ Module to expose more detailed version info for the installed `numpy`
4
+ """
5
+ version = "2.4.3"
6
+ __version__ = version
7
+ full_version = version
8
+
9
+ git_revision = "8bcb2e72e67c343e55165e6064fe6a9dc011e954"
10
+ release = 'dev' not in version and '+' not in version
11
+ short_version = version.split("+")[0]
.venv/lib/python3.12/site-packages/numpy/version.pyi ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Final, LiteralString
2
+
3
+ version: Final[LiteralString] = ...
4
+ __version__: Final[LiteralString] = ...
5
+ full_version: Final[LiteralString] = ...
6
+
7
+ git_revision: Final[LiteralString] = ...
8
+ release: Final[bool] = ...
9
+ short_version: Final[LiteralString] = ...
.venv/lib/python3.12/site-packages/nvidia/__init__.py ADDED
File without changes
.venv/lib/python3.12/site-packages/nvidia/cublas/__init__.py ADDED
File without changes
.venv/lib/python3.12/site-packages/nvidia/cublas/include/__init__.py ADDED
File without changes
.venv/lib/python3.12/site-packages/nvidia/cublas/include/cublas.h ADDED
@@ -0,0 +1,891 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Copyright 1993-2019 NVIDIA Corporation. All rights reserved.
3
+ *
4
+ * NOTICE TO LICENSEE:
5
+ *
6
+ * This source code and/or documentation ("Licensed Deliverables") are
7
+ * subject to NVIDIA intellectual property rights under U.S. and
8
+ * international Copyright laws.
9
+ *
10
+ * These Licensed Deliverables contained herein is PROPRIETARY and
11
+ * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12
+ * conditions of a form of NVIDIA software license agreement by and
13
+ * between NVIDIA and Licensee ("License Agreement") or electronically
14
+ * accepted by Licensee. Notwithstanding any terms or conditions to
15
+ * the contrary in the License Agreement, reproduction or disclosure
16
+ * of the Licensed Deliverables to any third party without the express
17
+ * written consent of NVIDIA is prohibited.
18
+ *
19
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20
+ * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21
+ * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
22
+ * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23
+ * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24
+ * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25
+ * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27
+ * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28
+ * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32
+ * OF THESE LICENSED DELIVERABLES.
33
+ *
34
+ * U.S. Government End Users. These Licensed Deliverables are a
35
+ * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36
+ * 1995), consisting of "commercial computer software" and "commercial
37
+ * computer software documentation" as such terms are used in 48
38
+ * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39
+ * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
40
+ * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41
+ * U.S. Government End Users acquire the Licensed Deliverables with
42
+ * only those rights set forth herein.
43
+ *
44
+ * Any use of the Licensed Deliverables in individual and commercial
45
+ * software must include, in the user documentation and internal
46
+ * comments to the code, the above Disclaimer and U.S. Government End
47
+ * Users Notice.
48
+ */
49
+
50
+ /*
51
+ * This is the public header file for the CUBLAS library, defining the API
52
+ *
53
+ * CUBLAS is an implementation of BLAS (Basic Linear Algebra Subroutines)
54
+ * on top of the CUDA runtime.
55
+ */
56
+
57
+ #if !defined(CUBLAS_H_)
58
+ #define CUBLAS_H_
59
+
60
+ #if defined(CUBLAS_V2_H_)
61
+ #error "It is an error to include both cublas.h and cublas_v2.h"
62
+ #endif
63
+
64
+ #include <cuda_runtime.h>
65
+
66
+ #ifndef CUBLASWINAPI
67
+ #ifdef _WIN32
68
+ #define CUBLASWINAPI __stdcall
69
+ #else
70
+ #define CUBLASWINAPI
71
+ #endif
72
+ #endif
73
+
74
+ #undef CUBLASAPI
75
+ #ifdef __CUDACC__
76
+ #define CUBLASAPI __host__
77
+ #else
78
+ #define CUBLASAPI
79
+ #endif
80
+
81
+ #include "cublas_api.h"
82
+
83
+ #if defined(__cplusplus)
84
+ extern "C" {
85
+ #endif
86
+
87
+ /* CUBLAS data types */
88
+ #define cublasStatus cublasStatus_t
89
+
90
+ cublasStatus CUBLASWINAPI cublasInit(void);
91
+ cublasStatus CUBLASWINAPI cublasShutdown(void);
92
+ cublasStatus CUBLASWINAPI cublasGetError(void);
93
+
94
+ cublasStatus CUBLASWINAPI cublasGetVersion(int* version);
95
+ cublasStatus CUBLASWINAPI cublasAlloc(int n, int elemSize, void** devicePtr);
96
+
97
+ cublasStatus CUBLASWINAPI cublasFree(void* devicePtr);
98
+
99
+ cublasStatus CUBLASWINAPI cublasSetKernelStream(cudaStream_t stream);
100
+
101
+ /* ---------------- CUBLAS BLAS1 functions ---------------- */
102
+ /* NRM2 */
103
+ float CUBLASWINAPI cublasSnrm2(int n, const float* x, int incx);
104
+ double CUBLASWINAPI cublasDnrm2(int n, const double* x, int incx);
105
+ float CUBLASWINAPI cublasScnrm2(int n, const cuComplex* x, int incx);
106
+ double CUBLASWINAPI cublasDznrm2(int n, const cuDoubleComplex* x, int incx);
107
+ /*------------------------------------------------------------------------*/
108
+ /* DOT */
109
+ float CUBLASWINAPI cublasSdot(int n, const float* x, int incx, const float* y, int incy);
110
+ double CUBLASWINAPI cublasDdot(int n, const double* x, int incx, const double* y, int incy);
111
+ cuComplex CUBLASWINAPI cublasCdotu(int n, const cuComplex* x, int incx, const cuComplex* y, int incy);
112
+ cuComplex CUBLASWINAPI cublasCdotc(int n, const cuComplex* x, int incx, const cuComplex* y, int incy);
113
+ cuDoubleComplex CUBLASWINAPI cublasZdotu(int n, const cuDoubleComplex* x, int incx, const cuDoubleComplex* y, int incy);
114
+ cuDoubleComplex CUBLASWINAPI cublasZdotc(int n, const cuDoubleComplex* x, int incx, const cuDoubleComplex* y, int incy);
115
+ /*------------------------------------------------------------------------*/
116
+ /* SCAL */
117
+ void CUBLASWINAPI cublasSscal(int n, float alpha, float* x, int incx);
118
+ void CUBLASWINAPI cublasDscal(int n, double alpha, double* x, int incx);
119
+ void CUBLASWINAPI cublasCscal(int n, cuComplex alpha, cuComplex* x, int incx);
120
+ void CUBLASWINAPI cublasZscal(int n, cuDoubleComplex alpha, cuDoubleComplex* x, int incx);
121
+
122
+ void CUBLASWINAPI cublasCsscal(int n, float alpha, cuComplex* x, int incx);
123
+ void CUBLASWINAPI cublasZdscal(int n, double alpha, cuDoubleComplex* x, int incx);
124
+ /*------------------------------------------------------------------------*/
125
+ /* AXPY */
126
+ void CUBLASWINAPI cublasSaxpy(int n, float alpha, const float* x, int incx, float* y, int incy);
127
+ void CUBLASWINAPI cublasDaxpy(int n, double alpha, const double* x, int incx, double* y, int incy);
128
+ void CUBLASWINAPI cublasCaxpy(int n, cuComplex alpha, const cuComplex* x, int incx, cuComplex* y, int incy);
129
+ void CUBLASWINAPI
130
+ cublasZaxpy(int n, cuDoubleComplex alpha, const cuDoubleComplex* x, int incx, cuDoubleComplex* y, int incy);
131
+ /*------------------------------------------------------------------------*/
132
+ /* COPY */
133
+ void CUBLASWINAPI cublasScopy(int n, const float* x, int incx, float* y, int incy);
134
+ void CUBLASWINAPI cublasDcopy(int n, const double* x, int incx, double* y, int incy);
135
+ void CUBLASWINAPI cublasCcopy(int n, const cuComplex* x, int incx, cuComplex* y, int incy);
136
+ void CUBLASWINAPI cublasZcopy(int n, const cuDoubleComplex* x, int incx, cuDoubleComplex* y, int incy);
137
+ /*------------------------------------------------------------------------*/
138
+ /* SWAP */
139
+ void CUBLASWINAPI cublasSswap(int n, float* x, int incx, float* y, int incy);
140
+ void CUBLASWINAPI cublasDswap(int n, double* x, int incx, double* y, int incy);
141
+ void CUBLASWINAPI cublasCswap(int n, cuComplex* x, int incx, cuComplex* y, int incy);
142
+ void CUBLASWINAPI cublasZswap(int n, cuDoubleComplex* x, int incx, cuDoubleComplex* y, int incy);
143
+ /*------------------------------------------------------------------------*/
144
+ /* AMAX */
145
+ int CUBLASWINAPI cublasIsamax(int n, const float* x, int incx);
146
+ int CUBLASWINAPI cublasIdamax(int n, const double* x, int incx);
147
+ int CUBLASWINAPI cublasIcamax(int n, const cuComplex* x, int incx);
148
+ int CUBLASWINAPI cublasIzamax(int n, const cuDoubleComplex* x, int incx);
149
+ /*------------------------------------------------------------------------*/
150
+ /* AMIN */
151
+ int CUBLASWINAPI cublasIsamin(int n, const float* x, int incx);
152
+ int CUBLASWINAPI cublasIdamin(int n, const double* x, int incx);
153
+
154
+ int CUBLASWINAPI cublasIcamin(int n, const cuComplex* x, int incx);
155
+ int CUBLASWINAPI cublasIzamin(int n, const cuDoubleComplex* x, int incx);
156
+ /*------------------------------------------------------------------------*/
157
+ /* ASUM */
158
+ float CUBLASWINAPI cublasSasum(int n, const float* x, int incx);
159
+ double CUBLASWINAPI cublasDasum(int n, const double* x, int incx);
160
+ float CUBLASWINAPI cublasScasum(int n, const cuComplex* x, int incx);
161
+ double CUBLASWINAPI cublasDzasum(int n, const cuDoubleComplex* x, int incx);
162
+ /*------------------------------------------------------------------------*/
163
+ /* ROT */
164
+ void CUBLASWINAPI cublasSrot(int n, float* x, int incx, float* y, int incy, float sc, float ss);
165
+ void CUBLASWINAPI cublasDrot(int n, double* x, int incx, double* y, int incy, double sc, double ss);
166
+ void CUBLASWINAPI cublasCrot(int n, cuComplex* x, int incx, cuComplex* y, int incy, float c, cuComplex s);
167
+ void CUBLASWINAPI
168
+ cublasZrot(int n, cuDoubleComplex* x, int incx, cuDoubleComplex* y, int incy, double sc, cuDoubleComplex cs);
169
+ void CUBLASWINAPI cublasCsrot(int n, cuComplex* x, int incx, cuComplex* y, int incy, float c, float s);
170
+ void CUBLASWINAPI cublasZdrot(int n, cuDoubleComplex* x, int incx, cuDoubleComplex* y, int incy, double c, double s);
171
+ /*------------------------------------------------------------------------*/
172
+ /* ROTG */
173
+ void CUBLASWINAPI cublasSrotg(float* sa, float* sb, float* sc, float* ss);
174
+ void CUBLASWINAPI cublasDrotg(double* sa, double* sb, double* sc, double* ss);
175
+ void CUBLASWINAPI cublasCrotg(cuComplex* ca, cuComplex cb, float* sc, cuComplex* cs);
176
+ void CUBLASWINAPI cublasZrotg(cuDoubleComplex* ca, cuDoubleComplex cb, double* sc, cuDoubleComplex* cs);
177
+ /*------------------------------------------------------------------------*/
178
+ /* ROTM */
179
+ void CUBLASWINAPI cublasSrotm(int n, float* x, int incx, float* y, int incy, const float* sparam);
180
+ void CUBLASWINAPI cublasDrotm(int n, double* x, int incx, double* y, int incy, const double* sparam);
181
+ /*------------------------------------------------------------------------*/
182
+ /* ROTMG */
183
+ void CUBLASWINAPI cublasSrotmg(float* sd1, float* sd2, float* sx1, const float* sy1, float* sparam);
184
+ void CUBLASWINAPI cublasDrotmg(double* sd1, double* sd2, double* sx1, const double* sy1, double* sparam);
185
+
186
+ /* --------------- CUBLAS BLAS2 functions ---------------- */
187
+ /* GEMV */
188
+ void CUBLASWINAPI cublasSgemv(char trans,
189
+ int m,
190
+ int n,
191
+ float alpha,
192
+ const float* A,
193
+ int lda,
194
+ const float* x,
195
+ int incx,
196
+ float beta,
197
+ float* y,
198
+ int incy);
199
+ void CUBLASWINAPI cublasDgemv(char trans,
200
+ int m,
201
+ int n,
202
+ double alpha,
203
+ const double* A,
204
+ int lda,
205
+ const double* x,
206
+ int incx,
207
+ double beta,
208
+ double* y,
209
+ int incy);
210
+ void CUBLASWINAPI cublasCgemv(char trans,
211
+ int m,
212
+ int n,
213
+ cuComplex alpha,
214
+ const cuComplex* A,
215
+ int lda,
216
+ const cuComplex* x,
217
+ int incx,
218
+ cuComplex beta,
219
+ cuComplex* y,
220
+ int incy);
221
+ void CUBLASWINAPI cublasZgemv(char trans,
222
+ int m,
223
+ int n,
224
+ cuDoubleComplex alpha,
225
+ const cuDoubleComplex* A,
226
+ int lda,
227
+ const cuDoubleComplex* x,
228
+ int incx,
229
+ cuDoubleComplex beta,
230
+ cuDoubleComplex* y,
231
+ int incy);
232
+ /*------------------------------------------------------------------------*/
233
+ /* GBMV */
234
+ void CUBLASWINAPI cublasSgbmv(char trans,
235
+ int m,
236
+ int n,
237
+ int kl,
238
+ int ku,
239
+ float alpha,
240
+ const float* A,
241
+ int lda,
242
+ const float* x,
243
+ int incx,
244
+ float beta,
245
+ float* y,
246
+ int incy);
247
+ void CUBLASWINAPI cublasDgbmv(char trans,
248
+ int m,
249
+ int n,
250
+ int kl,
251
+ int ku,
252
+ double alpha,
253
+ const double* A,
254
+ int lda,
255
+ const double* x,
256
+ int incx,
257
+ double beta,
258
+ double* y,
259
+ int incy);
260
+ void CUBLASWINAPI cublasCgbmv(char trans,
261
+ int m,
262
+ int n,
263
+ int kl,
264
+ int ku,
265
+ cuComplex alpha,
266
+ const cuComplex* A,
267
+ int lda,
268
+ const cuComplex* x,
269
+ int incx,
270
+ cuComplex beta,
271
+ cuComplex* y,
272
+ int incy);
273
+ void CUBLASWINAPI cublasZgbmv(char trans,
274
+ int m,
275
+ int n,
276
+ int kl,
277
+ int ku,
278
+ cuDoubleComplex alpha,
279
+ const cuDoubleComplex* A,
280
+ int lda,
281
+ const cuDoubleComplex* x,
282
+ int incx,
283
+ cuDoubleComplex beta,
284
+ cuDoubleComplex* y,
285
+ int incy);
286
+ /*------------------------------------------------------------------------*/
287
+ /* TRMV */
288
+ void CUBLASWINAPI cublasStrmv(char uplo, char trans, char diag, int n, const float* A, int lda, float* x, int incx);
289
+ void CUBLASWINAPI cublasDtrmv(char uplo, char trans, char diag, int n, const double* A, int lda, double* x, int incx);
290
+ void CUBLASWINAPI
291
+ cublasCtrmv(char uplo, char trans, char diag, int n, const cuComplex* A, int lda, cuComplex* x, int incx);
292
+ void CUBLASWINAPI
293
+ cublasZtrmv(char uplo, char trans, char diag, int n, const cuDoubleComplex* A, int lda, cuDoubleComplex* x, int incx);
294
+ /*------------------------------------------------------------------------*/
295
+ /* TBMV */
296
+ void CUBLASWINAPI
297
+ cublasStbmv(char uplo, char trans, char diag, int n, int k, const float* A, int lda, float* x, int incx);
298
+ void CUBLASWINAPI
299
+ cublasDtbmv(char uplo, char trans, char diag, int n, int k, const double* A, int lda, double* x, int incx);
300
+ void CUBLASWINAPI
301
+ cublasCtbmv(char uplo, char trans, char diag, int n, int k, const cuComplex* A, int lda, cuComplex* x, int incx);
302
+ void CUBLASWINAPI cublasZtbmv(
303
+ char uplo, char trans, char diag, int n, int k, const cuDoubleComplex* A, int lda, cuDoubleComplex* x, int incx);
304
+ /*------------------------------------------------------------------------*/
305
+ /* TPMV */
306
+ void CUBLASWINAPI cublasStpmv(char uplo, char trans, char diag, int n, const float* AP, float* x, int incx);
307
+
308
+ void CUBLASWINAPI cublasDtpmv(char uplo, char trans, char diag, int n, const double* AP, double* x, int incx);
309
+
310
+ void CUBLASWINAPI cublasCtpmv(char uplo, char trans, char diag, int n, const cuComplex* AP, cuComplex* x, int incx);
311
+
312
+ void CUBLASWINAPI
313
+ cublasZtpmv(char uplo, char trans, char diag, int n, const cuDoubleComplex* AP, cuDoubleComplex* x, int incx);
314
+ /*------------------------------------------------------------------------*/
315
+ /* TRSV */
316
+ void CUBLASWINAPI cublasStrsv(char uplo, char trans, char diag, int n, const float* A, int lda, float* x, int incx);
317
+
318
+ void CUBLASWINAPI cublasDtrsv(char uplo, char trans, char diag, int n, const double* A, int lda, double* x, int incx);
319
+
320
+ void CUBLASWINAPI
321
+ cublasCtrsv(char uplo, char trans, char diag, int n, const cuComplex* A, int lda, cuComplex* x, int incx);
322
+
323
+ void CUBLASWINAPI
324
+ cublasZtrsv(char uplo, char trans, char diag, int n, const cuDoubleComplex* A, int lda, cuDoubleComplex* x, int incx);
325
+ /*------------------------------------------------------------------------*/
326
+ /* TPSV */
327
+ void CUBLASWINAPI cublasStpsv(char uplo, char trans, char diag, int n, const float* AP, float* x, int incx);
328
+
329
+ void CUBLASWINAPI cublasDtpsv(char uplo, char trans, char diag, int n, const double* AP, double* x, int incx);
330
+
331
+ void CUBLASWINAPI cublasCtpsv(char uplo, char trans, char diag, int n, const cuComplex* AP, cuComplex* x, int incx);
332
+
333
+ void CUBLASWINAPI
334
+ cublasZtpsv(char uplo, char trans, char diag, int n, const cuDoubleComplex* AP, cuDoubleComplex* x, int incx);
335
+ /*------------------------------------------------------------------------*/
336
+ /* TBSV */
337
+ void CUBLASWINAPI
338
+ cublasStbsv(char uplo, char trans, char diag, int n, int k, const float* A, int lda, float* x, int incx);
339
+
340
+ void CUBLASWINAPI
341
+ cublasDtbsv(char uplo, char trans, char diag, int n, int k, const double* A, int lda, double* x, int incx);
342
+ void CUBLASWINAPI
343
+ cublasCtbsv(char uplo, char trans, char diag, int n, int k, const cuComplex* A, int lda, cuComplex* x, int incx);
344
+
345
+ void CUBLASWINAPI cublasZtbsv(
346
+ char uplo, char trans, char diag, int n, int k, const cuDoubleComplex* A, int lda, cuDoubleComplex* x, int incx);
347
+ /*------------------------------------------------------------------------*/
348
+ /* SYMV/HEMV */
349
+ void CUBLASWINAPI cublasSsymv(
350
+ char uplo, int n, float alpha, const float* A, int lda, const float* x, int incx, float beta, float* y, int incy);
351
+ void CUBLASWINAPI cublasDsymv(char uplo,
352
+ int n,
353
+ double alpha,
354
+ const double* A,
355
+ int lda,
356
+ const double* x,
357
+ int incx,
358
+ double beta,
359
+ double* y,
360
+ int incy);
361
+ void CUBLASWINAPI cublasChemv(char uplo,
362
+ int n,
363
+ cuComplex alpha,
364
+ const cuComplex* A,
365
+ int lda,
366
+ const cuComplex* x,
367
+ int incx,
368
+ cuComplex beta,
369
+ cuComplex* y,
370
+ int incy);
371
+ void CUBLASWINAPI cublasZhemv(char uplo,
372
+ int n,
373
+ cuDoubleComplex alpha,
374
+ const cuDoubleComplex* A,
375
+ int lda,
376
+ const cuDoubleComplex* x,
377
+ int incx,
378
+ cuDoubleComplex beta,
379
+ cuDoubleComplex* y,
380
+ int incy);
381
+ /*------------------------------------------------------------------------*/
382
+ /* SBMV/HBMV */
383
+ void CUBLASWINAPI cublasSsbmv(char uplo,
384
+ int n,
385
+ int k,
386
+ float alpha,
387
+ const float* A,
388
+ int lda,
389
+ const float* x,
390
+ int incx,
391
+ float beta,
392
+ float* y,
393
+ int incy);
394
+ void CUBLASWINAPI cublasDsbmv(char uplo,
395
+ int n,
396
+ int k,
397
+ double alpha,
398
+ const double* A,
399
+ int lda,
400
+ const double* x,
401
+ int incx,
402
+ double beta,
403
+ double* y,
404
+ int incy);
405
+ void CUBLASWINAPI cublasChbmv(char uplo,
406
+ int n,
407
+ int k,
408
+ cuComplex alpha,
409
+ const cuComplex* A,
410
+ int lda,
411
+ const cuComplex* x,
412
+ int incx,
413
+ cuComplex beta,
414
+ cuComplex* y,
415
+ int incy);
416
+ void CUBLASWINAPI cublasZhbmv(char uplo,
417
+ int n,
418
+ int k,
419
+ cuDoubleComplex alpha,
420
+ const cuDoubleComplex* A,
421
+ int lda,
422
+ const cuDoubleComplex* x,
423
+ int incx,
424
+ cuDoubleComplex beta,
425
+ cuDoubleComplex* y,
426
+ int incy);
427
+ /*------------------------------------------------------------------------*/
428
+ /* SPMV/HPMV */
429
+ void CUBLASWINAPI
430
+ cublasSspmv(char uplo, int n, float alpha, const float* AP, const float* x, int incx, float beta, float* y, int incy);
431
+ void CUBLASWINAPI cublasDspmv(
432
+ char uplo, int n, double alpha, const double* AP, const double* x, int incx, double beta, double* y, int incy);
433
+ void CUBLASWINAPI cublasChpmv(char uplo,
434
+ int n,
435
+ cuComplex alpha,
436
+ const cuComplex* AP,
437
+ const cuComplex* x,
438
+ int incx,
439
+ cuComplex beta,
440
+ cuComplex* y,
441
+ int incy);
442
+ void CUBLASWINAPI cublasZhpmv(char uplo,
443
+ int n,
444
+ cuDoubleComplex alpha,
445
+ const cuDoubleComplex* AP,
446
+ const cuDoubleComplex* x,
447
+ int incx,
448
+ cuDoubleComplex beta,
449
+ cuDoubleComplex* y,
450
+ int incy);
451
+
452
+ /*------------------------------------------------------------------------*/
453
+ /* GER */
454
+ void CUBLASWINAPI
455
+ cublasSger(int m, int n, float alpha, const float* x, int incx, const float* y, int incy, float* A, int lda);
456
+ void CUBLASWINAPI
457
+ cublasDger(int m, int n, double alpha, const double* x, int incx, const double* y, int incy, double* A, int lda);
458
+
459
+ void CUBLASWINAPI cublasCgeru(
460
+ int m, int n, cuComplex alpha, const cuComplex* x, int incx, const cuComplex* y, int incy, cuComplex* A, int lda);
461
+ void CUBLASWINAPI cublasCgerc(
462
+ int m, int n, cuComplex alpha, const cuComplex* x, int incx, const cuComplex* y, int incy, cuComplex* A, int lda);
463
+ void CUBLASWINAPI cublasZgeru(int m,
464
+ int n,
465
+ cuDoubleComplex alpha,
466
+ const cuDoubleComplex* x,
467
+ int incx,
468
+ const cuDoubleComplex* y,
469
+ int incy,
470
+ cuDoubleComplex* A,
471
+ int lda);
472
+ void CUBLASWINAPI cublasZgerc(int m,
473
+ int n,
474
+ cuDoubleComplex alpha,
475
+ const cuDoubleComplex* x,
476
+ int incx,
477
+ const cuDoubleComplex* y,
478
+ int incy,
479
+ cuDoubleComplex* A,
480
+ int lda);
481
+ /*------------------------------------------------------------------------*/
482
+ /* SYR/HER */
483
+ void CUBLASWINAPI cublasSsyr(char uplo, int n, float alpha, const float* x, int incx, float* A, int lda);
484
+ void CUBLASWINAPI cublasDsyr(char uplo, int n, double alpha, const double* x, int incx, double* A, int lda);
485
+
486
+ void CUBLASWINAPI cublasCher(char uplo, int n, float alpha, const cuComplex* x, int incx, cuComplex* A, int lda);
487
+ void CUBLASWINAPI
488
+ cublasZher(char uplo, int n, double alpha, const cuDoubleComplex* x, int incx, cuDoubleComplex* A, int lda);
489
+
490
+ /*------------------------------------------------------------------------*/
491
+ /* SPR/HPR */
492
+ void CUBLASWINAPI cublasSspr(char uplo, int n, float alpha, const float* x, int incx, float* AP);
493
+ void CUBLASWINAPI cublasDspr(char uplo, int n, double alpha, const double* x, int incx, double* AP);
494
+ void CUBLASWINAPI cublasChpr(char uplo, int n, float alpha, const cuComplex* x, int incx, cuComplex* AP);
495
+ void CUBLASWINAPI cublasZhpr(char uplo, int n, double alpha, const cuDoubleComplex* x, int incx, cuDoubleComplex* AP);
496
+ /*------------------------------------------------------------------------*/
497
+ /* SYR2/HER2 */
498
+ void CUBLASWINAPI
499
+ cublasSsyr2(char uplo, int n, float alpha, const float* x, int incx, const float* y, int incy, float* A, int lda);
500
+ void CUBLASWINAPI
501
+ cublasDsyr2(char uplo, int n, double alpha, const double* x, int incx, const double* y, int incy, double* A, int lda);
502
+ void CUBLASWINAPI cublasCher2(char uplo,
503
+ int n,
504
+ cuComplex alpha,
505
+ const cuComplex* x,
506
+ int incx,
507
+ const cuComplex* y,
508
+ int incy,
509
+ cuComplex* A,
510
+ int lda);
511
+ void CUBLASWINAPI cublasZher2(char uplo,
512
+ int n,
513
+ cuDoubleComplex alpha,
514
+ const cuDoubleComplex* x,
515
+ int incx,
516
+ const cuDoubleComplex* y,
517
+ int incy,
518
+ cuDoubleComplex* A,
519
+ int lda);
520
+
521
+ /*------------------------------------------------------------------------*/
522
+ /* SPR2/HPR2 */
523
+ void CUBLASWINAPI
524
+ cublasSspr2(char uplo, int n, float alpha, const float* x, int incx, const float* y, int incy, float* AP);
525
+ void CUBLASWINAPI
526
+ cublasDspr2(char uplo, int n, double alpha, const double* x, int incx, const double* y, int incy, double* AP);
527
+ void CUBLASWINAPI cublasChpr2(
528
+ char uplo, int n, cuComplex alpha, const cuComplex* x, int incx, const cuComplex* y, int incy, cuComplex* AP);
529
+ void CUBLASWINAPI cublasZhpr2(char uplo,
530
+ int n,
531
+ cuDoubleComplex alpha,
532
+ const cuDoubleComplex* x,
533
+ int incx,
534
+ const cuDoubleComplex* y,
535
+ int incy,
536
+ cuDoubleComplex* AP);
537
+ /* ------------------------BLAS3 Functions ------------------------------- */
538
+ /* GEMM */
539
+ void CUBLASWINAPI cublasSgemm(char transa,
540
+ char transb,
541
+ int m,
542
+ int n,
543
+ int k,
544
+ float alpha,
545
+ const float* A,
546
+ int lda,
547
+ const float* B,
548
+ int ldb,
549
+ float beta,
550
+ float* C,
551
+ int ldc);
552
+ void CUBLASWINAPI cublasDgemm(char transa,
553
+ char transb,
554
+ int m,
555
+ int n,
556
+ int k,
557
+ double alpha,
558
+ const double* A,
559
+ int lda,
560
+ const double* B,
561
+ int ldb,
562
+ double beta,
563
+ double* C,
564
+ int ldc);
565
+ void CUBLASWINAPI cublasCgemm(char transa,
566
+ char transb,
567
+ int m,
568
+ int n,
569
+ int k,
570
+ cuComplex alpha,
571
+ const cuComplex* A,
572
+ int lda,
573
+ const cuComplex* B,
574
+ int ldb,
575
+ cuComplex beta,
576
+ cuComplex* C,
577
+ int ldc);
578
+ void CUBLASWINAPI cublasZgemm(char transa,
579
+ char transb,
580
+ int m,
581
+ int n,
582
+ int k,
583
+ cuDoubleComplex alpha,
584
+ const cuDoubleComplex* A,
585
+ int lda,
586
+ const cuDoubleComplex* B,
587
+ int ldb,
588
+ cuDoubleComplex beta,
589
+ cuDoubleComplex* C,
590
+ int ldc);
591
+ /* -------------------------------------------------------*/
592
+ /* SYRK */
593
+ void CUBLASWINAPI
594
+ cublasSsyrk(char uplo, char trans, int n, int k, float alpha, const float* A, int lda, float beta, float* C, int ldc);
595
+ void CUBLASWINAPI cublasDsyrk(
596
+ char uplo, char trans, int n, int k, double alpha, const double* A, int lda, double beta, double* C, int ldc);
597
+
598
+ void CUBLASWINAPI cublasCsyrk(char uplo,
599
+ char trans,
600
+ int n,
601
+ int k,
602
+ cuComplex alpha,
603
+ const cuComplex* A,
604
+ int lda,
605
+ cuComplex beta,
606
+ cuComplex* C,
607
+ int ldc);
608
+ void CUBLASWINAPI cublasZsyrk(char uplo,
609
+ char trans,
610
+ int n,
611
+ int k,
612
+ cuDoubleComplex alpha,
613
+ const cuDoubleComplex* A,
614
+ int lda,
615
+ cuDoubleComplex beta,
616
+ cuDoubleComplex* C,
617
+ int ldc);
618
+ /* ------------------------------------------------------- */
619
+ /* HERK */
620
+ void CUBLASWINAPI cublasCherk(
621
+ char uplo, char trans, int n, int k, float alpha, const cuComplex* A, int lda, float beta, cuComplex* C, int ldc);
622
+ void CUBLASWINAPI cublasZherk(char uplo,
623
+ char trans,
624
+ int n,
625
+ int k,
626
+ double alpha,
627
+ const cuDoubleComplex* A,
628
+ int lda,
629
+ double beta,
630
+ cuDoubleComplex* C,
631
+ int ldc);
632
+ /* ------------------------------------------------------- */
633
+ /* SYR2K */
634
+ void CUBLASWINAPI cublasSsyr2k(char uplo,
635
+ char trans,
636
+ int n,
637
+ int k,
638
+ float alpha,
639
+ const float* A,
640
+ int lda,
641
+ const float* B,
642
+ int ldb,
643
+ float beta,
644
+ float* C,
645
+ int ldc);
646
+
647
+ void CUBLASWINAPI cublasDsyr2k(char uplo,
648
+ char trans,
649
+ int n,
650
+ int k,
651
+ double alpha,
652
+ const double* A,
653
+ int lda,
654
+ const double* B,
655
+ int ldb,
656
+ double beta,
657
+ double* C,
658
+ int ldc);
659
+ void CUBLASWINAPI cublasCsyr2k(char uplo,
660
+ char trans,
661
+ int n,
662
+ int k,
663
+ cuComplex alpha,
664
+ const cuComplex* A,
665
+ int lda,
666
+ const cuComplex* B,
667
+ int ldb,
668
+ cuComplex beta,
669
+ cuComplex* C,
670
+ int ldc);
671
+
672
+ void CUBLASWINAPI cublasZsyr2k(char uplo,
673
+ char trans,
674
+ int n,
675
+ int k,
676
+ cuDoubleComplex alpha,
677
+ const cuDoubleComplex* A,
678
+ int lda,
679
+ const cuDoubleComplex* B,
680
+ int ldb,
681
+ cuDoubleComplex beta,
682
+ cuDoubleComplex* C,
683
+ int ldc);
684
+ /* ------------------------------------------------------- */
685
+ /* HER2K */
686
+ void CUBLASWINAPI cublasCher2k(char uplo,
687
+ char trans,
688
+ int n,
689
+ int k,
690
+ cuComplex alpha,
691
+ const cuComplex* A,
692
+ int lda,
693
+ const cuComplex* B,
694
+ int ldb,
695
+ float beta,
696
+ cuComplex* C,
697
+ int ldc);
698
+
699
+ void CUBLASWINAPI cublasZher2k(char uplo,
700
+ char trans,
701
+ int n,
702
+ int k,
703
+ cuDoubleComplex alpha,
704
+ const cuDoubleComplex* A,
705
+ int lda,
706
+ const cuDoubleComplex* B,
707
+ int ldb,
708
+ double beta,
709
+ cuDoubleComplex* C,
710
+ int ldc);
711
+
712
+ /*------------------------------------------------------------------------*/
713
+ /* SYMM*/
714
+ void CUBLASWINAPI cublasSsymm(char side,
715
+ char uplo,
716
+ int m,
717
+ int n,
718
+ float alpha,
719
+ const float* A,
720
+ int lda,
721
+ const float* B,
722
+ int ldb,
723
+ float beta,
724
+ float* C,
725
+ int ldc);
726
+ void CUBLASWINAPI cublasDsymm(char side,
727
+ char uplo,
728
+ int m,
729
+ int n,
730
+ double alpha,
731
+ const double* A,
732
+ int lda,
733
+ const double* B,
734
+ int ldb,
735
+ double beta,
736
+ double* C,
737
+ int ldc);
738
+
739
+ void CUBLASWINAPI cublasCsymm(char side,
740
+ char uplo,
741
+ int m,
742
+ int n,
743
+ cuComplex alpha,
744
+ const cuComplex* A,
745
+ int lda,
746
+ const cuComplex* B,
747
+ int ldb,
748
+ cuComplex beta,
749
+ cuComplex* C,
750
+ int ldc);
751
+
752
+ void CUBLASWINAPI cublasZsymm(char side,
753
+ char uplo,
754
+ int m,
755
+ int n,
756
+ cuDoubleComplex alpha,
757
+ const cuDoubleComplex* A,
758
+ int lda,
759
+ const cuDoubleComplex* B,
760
+ int ldb,
761
+ cuDoubleComplex beta,
762
+ cuDoubleComplex* C,
763
+ int ldc);
764
+ /*------------------------------------------------------------------------*/
765
+ /* HEMM*/
766
+ void CUBLASWINAPI cublasChemm(char side,
767
+ char uplo,
768
+ int m,
769
+ int n,
770
+ cuComplex alpha,
771
+ const cuComplex* A,
772
+ int lda,
773
+ const cuComplex* B,
774
+ int ldb,
775
+ cuComplex beta,
776
+ cuComplex* C,
777
+ int ldc);
778
+ void CUBLASWINAPI cublasZhemm(char side,
779
+ char uplo,
780
+ int m,
781
+ int n,
782
+ cuDoubleComplex alpha,
783
+ const cuDoubleComplex* A,
784
+ int lda,
785
+ const cuDoubleComplex* B,
786
+ int ldb,
787
+ cuDoubleComplex beta,
788
+ cuDoubleComplex* C,
789
+ int ldc);
790
+
791
+ /*------------------------------------------------------------------------*/
792
+ /* TRSM*/
793
+ void CUBLASWINAPI cublasStrsm(char side,
794
+ char uplo,
795
+ char transa,
796
+ char diag,
797
+ int m,
798
+ int n,
799
+ float alpha,
800
+ const float* A,
801
+ int lda,
802
+ float* B,
803
+ int ldb);
804
+
805
+ void CUBLASWINAPI cublasDtrsm(char side,
806
+ char uplo,
807
+ char transa,
808
+ char diag,
809
+ int m,
810
+ int n,
811
+ double alpha,
812
+ const double* A,
813
+ int lda,
814
+ double* B,
815
+ int ldb);
816
+
817
+ void CUBLASWINAPI cublasCtrsm(char side,
818
+ char uplo,
819
+ char transa,
820
+ char diag,
821
+ int m,
822
+ int n,
823
+ cuComplex alpha,
824
+ const cuComplex* A,
825
+ int lda,
826
+ cuComplex* B,
827
+ int ldb);
828
+
829
+ void CUBLASWINAPI cublasZtrsm(char side,
830
+ char uplo,
831
+ char transa,
832
+ char diag,
833
+ int m,
834
+ int n,
835
+ cuDoubleComplex alpha,
836
+ const cuDoubleComplex* A,
837
+ int lda,
838
+ cuDoubleComplex* B,
839
+ int ldb);
840
+ /*------------------------------------------------------------------------*/
841
+ /* TRMM*/
842
+ void CUBLASWINAPI cublasStrmm(char side,
843
+ char uplo,
844
+ char transa,
845
+ char diag,
846
+ int m,
847
+ int n,
848
+ float alpha,
849
+ const float* A,
850
+ int lda,
851
+ float* B,
852
+ int ldb);
853
+ void CUBLASWINAPI cublasDtrmm(char side,
854
+ char uplo,
855
+ char transa,
856
+ char diag,
857
+ int m,
858
+ int n,
859
+ double alpha,
860
+ const double* A,
861
+ int lda,
862
+ double* B,
863
+ int ldb);
864
+ void CUBLASWINAPI cublasCtrmm(char side,
865
+ char uplo,
866
+ char transa,
867
+ char diag,
868
+ int m,
869
+ int n,
870
+ cuComplex alpha,
871
+ const cuComplex* A,
872
+ int lda,
873
+ cuComplex* B,
874
+ int ldb);
875
+ void CUBLASWINAPI cublasZtrmm(char side,
876
+ char uplo,
877
+ char transa,
878
+ char diag,
879
+ int m,
880
+ int n,
881
+ cuDoubleComplex alpha,
882
+ const cuDoubleComplex* A,
883
+ int lda,
884
+ cuDoubleComplex* B,
885
+ int ldb);
886
+
887
+ #if defined(__cplusplus)
888
+ }
889
+ #endif /* __cplusplus */
890
+
891
+ #endif /* !defined(CUBLAS_H_) */
.venv/lib/python3.12/site-packages/nvidia/cublas/include/cublasLt.h ADDED
The diff for this file is too large to render. See raw diff