Compare commits
1 Commits
Author | SHA256 | Date | |
---|---|---|---|
5c3e6ce239 |
12
ignore-pkg_resources-deprecation.patch
Normal file
12
ignore-pkg_resources-deprecation.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
Index: numpy-1.24.2/pytest.ini
|
||||
===================================================================
|
||||
--- numpy-1.24.2.orig/pytest.ini
|
||||
+++ numpy-1.24.2/pytest.ini
|
||||
@@ -25,5 +25,7 @@ filterwarnings =
|
||||
# Ignore DeprecationWarnings from distutils
|
||||
ignore::DeprecationWarning:.*distutils
|
||||
ignore:\n\n `numpy.distutils`:DeprecationWarning
|
||||
+# Ignore DeprecationWarning from pkg_resources
|
||||
+ ignore:pkg_resources:DeprecationWarning
|
||||
# Ignore mypy >= 0.971 DeprecationWarnings
|
||||
ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
|
BIN
numpy-1.25.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
numpy-1.25.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
28
numpy-1.9.0-remove-__declspec.patch
Normal file
28
numpy-1.9.0-remove-__declspec.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From: toddrme2178@gmail.com
|
||||
Date: 2014-09-09 04:45:00 +0000
|
||||
Subject: Remove windows-specific function
|
||||
Upstream: openSUSE Fix
|
||||
References:
|
||||
http://lists.opensuse.org/opensuse-packaging/2014-09/msg00004.html
|
||||
http://lists.opensuse.org/opensuse-packaging/2014-09/msg00005.html
|
||||
|
||||
__declspec(thread) is a windows-specific function that is causing
|
||||
spurious compiler warnings. These warnings can be safely ignored,
|
||||
but are being falsely flagged as serious problems that cause the
|
||||
build to fail. Since this is windows-specific, it can be
|
||||
safely removed.
|
||||
|
||||
|
||||
Index: numpy-1.24.0/numpy/core/setup_common.py
|
||||
===================================================================
|
||||
--- numpy-1.24.0.orig/numpy/core/setup_common.py
|
||||
+++ numpy-1.24.0/numpy/core/setup_common.py
|
||||
@@ -141,7 +141,7 @@ OPTIONAL_FILE_FUNCS = ["ftello", "fseeko
|
||||
OPTIONAL_MISC_FUNCS = ["backtrace", "madvise"]
|
||||
|
||||
# variable attributes tested via "int %s a" % attribute
|
||||
-OPTIONAL_VARIABLE_ATTRIBUTES = ["__thread", "__declspec(thread)"]
|
||||
+OPTIONAL_VARIABLE_ATTRIBUTES = ["__thread"]
|
||||
|
||||
# Subset of OPTIONAL_*_FUNCS which may already have HAVE_* defined by Python.h
|
||||
OPTIONAL_FUNCS_MAYBE = [
|
BIN
numpy-2.1.3.tar.gz
(Stored with Git LFS)
BIN
numpy-2.1.3.tar.gz
(Stored with Git LFS)
Binary file not shown.
@@ -1,7 +1,6 @@
|
||||
# These files are required for testing (and testing the package on a live system)
|
||||
addFilter("devel-file-in-non-devel-package .*numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c")
|
||||
addFilter("devel-file-in-non-devel-package .*numpy/_core/tests/examples")
|
||||
addFilter("devel-file-in-non-devel-package .*numpy/_core/tests/data")
|
||||
addFilter("hidden-file-or-dir .*numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap")
|
||||
addFilter("hidden-file-or-dir .*numpy/f2py/tests/src/f2cmap/.f2py_f2cmap")
|
||||
addFilter("zero-length .*numpy/core/__init__.pyi")
|
||||
addFilter("devel-file-in-non-devel-package.*numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c")
|
||||
addFilter("devel-file-in-non-devel-package.*numpy/core/tests/examples")
|
||||
addFilter("devel-file-in-non-devel-package.*numpy/core/tests/data")
|
||||
addFilter("hidden-file-or-dir .*/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap")
|
||||
addFilter("hidden-file-or-dir .*/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap")
|
||||
|
@@ -1,444 +1,3 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 12 16:55:08 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Avoid writing non-deterministic .pyc files during build
|
||||
for reproducible builds
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 22 22:33:50 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||
|
||||
- Add update-meson-1_5_2.patch (gh#numpy/numpy#27531)
|
||||
- Skip failing test test_api_importable
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 18 17:23:11 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Revert the switch to openblas, should skip test instead
|
||||
* see discussion at gh#scipy/scipy#21475
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 5 01:59:21 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
|
||||
|
||||
- update to 2.1.3:
|
||||
* #27512: MAINT: prepare 2.1.x for further development
|
||||
* #27537: MAINT: Bump actions/cache from 4.0.2 to 4.1.1
|
||||
* #27538: MAINT: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
|
||||
* #27539: MAINT: MSVC does not support #warning directive
|
||||
* #27543: BUG: Fix user dtype can-cast with python scalar during promotion
|
||||
* #27561: DEV: bump python to 3.12 in environment.yml
|
||||
* #27562: BLD: update vendored Meson to 1.5.2
|
||||
* #27563: BUG: weighted quantile for some zero weights (#27549)
|
||||
* #27565: MAINT: Use miniforge for macos conda test.
|
||||
* #27566: BUILD: satisfy gcc-13 pendantic errors
|
||||
* #27569: BUG: handle possible error for PyTraceMallocTrack
|
||||
* #27570: BLD: start building Windows free-threaded wheels [wheel build]
|
||||
* #27571: BUILD: vendor tempita from Cython
|
||||
* #27574: BUG: Fix warning "differs in levels of indirection" in npy_atomic.h...
|
||||
* #27592: MAINT: Update Highway to latest
|
||||
* #27593: BUG: Adjust numpy.i for SWIG 4.3 compatibility
|
||||
* #27616: BUG: Fix Linux QEMU CI workflow
|
||||
* #27668: BLD: Do not set __STDC_VERSION__ to zero during build
|
||||
* #27669: ENH: fix wasm32 runtime type error in numpy._core
|
||||
* #27672: BUG: Fix a reference count leak in npy_find_descr_for_scalar.
|
||||
* #27673: BUG: fixes for StringDType/unicode promoters
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 30 07:43:06 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Use openblas instead of blas+lapack due to precision problems
|
||||
with scipy on aarch64 - https://github.com/scipy/scipy/issues/21475#issuecomment-2446077407
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 24 12:21:00 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Build with latest gcc for Leap 16.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 21 06:52:58 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
|
||||
|
||||
- update to 2.1.2
|
||||
* #27333: MAINT: prepare 2.1.x for further development
|
||||
* #27400: BUG: apply critical sections around populating the dispatch cache
|
||||
* #27406: BUG: Stub out get_build_msvc_version if distutils.msvccompiler...
|
||||
* #27416: BUILD: fix missing include for std::ptrdiff_t for C++23 language...
|
||||
* #27433: BLD: pin setuptools to avoid breaking numpy.distutils
|
||||
* #27437: BUG: Allow unsigned shift argument for np.roll
|
||||
* #27439: BUG: Disable SVE VQSort
|
||||
* #27471: BUG: rfftn axis bug
|
||||
* #27479: BUG: Fix extra decref of PyArray_UInt8DType.
|
||||
* #27480: CI: use PyPI not scientific-python-nightly-wheels for CI doc...
|
||||
* #27481: MAINT: Check for SVE support on demand
|
||||
* #27484: BUG: initialize the promotion state to be weak
|
||||
* #27501: MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2
|
||||
* #27506: BUG: avoid segfault on bad arguments in ndarray.__array_function__
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 6 18:35:18 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.1.1
|
||||
* #27259: BUG: revert unintended change in the return value of
|
||||
set_printoptions
|
||||
* #27266: BUG: fix reference counting bug in __array_interface__
|
||||
implementation...
|
||||
* #27267: TST: Add regression test for missing descr in
|
||||
array-interface
|
||||
* #27276: BUG: Fix #27256 and #27257
|
||||
* #27278: BUG: Fix array_equal for numeric and non-numeric scalar
|
||||
types
|
||||
* #27304: BUG: f2py: better handle filtering of public/private
|
||||
subroutines
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 31 09:36:14 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.1.0
|
||||
* Support for Python 3.13.
|
||||
* Preliminary support for free threaded Python 3.13.
|
||||
* Support for the array-api 2023.12 standard.
|
||||
## New functions
|
||||
* A new function np.unstack(array, axis=...) was added, which
|
||||
splits an array into a tuple of arrays along an axis. It serves
|
||||
as the inverse of numpy.stack. (gh-26579)
|
||||
## Deprecations
|
||||
* The fix_imports keyword argument in numpy.save is deprecated.
|
||||
Since NumPy 1.17, numpy.save uses a pickle protocol that no
|
||||
longer supports Python 2, and ignored fix_imports keyword. This
|
||||
keyword is kept only for backward compatibility. It is now
|
||||
deprecated. (gh-26452)
|
||||
* Passing non-integer inputs as the first argument of bincount is
|
||||
now deprecated, because such inputs are silently cast to
|
||||
integers with no warning about loss of precision. (gh-27076)
|
||||
## Expired deprecations
|
||||
* Scalars and 0D arrays are disallowed for numpy.nonzero and
|
||||
numpy.ndarray.nonzero. (gh-26268)
|
||||
* set_string_function internal function was removed and
|
||||
PyArray_SetStringFunction was stubbed out. (gh-26611)
|
||||
## C API changes
|
||||
* API symbols now hidden but customizable
|
||||
* Many shims removed from npy_3kcompat.h
|
||||
* New PyUFuncObject field process_core_dims_func
|
||||
## New Features
|
||||
* Preliminary Support for Free-Threaded CPython 3.13
|
||||
* f2py can generate freethreading-compatible C extensions
|
||||
## Improvements
|
||||
* histogram auto-binning now returns bin sizes >=1 for integer
|
||||
input data
|
||||
* ndarray shape-type parameter is now covariant and bound to
|
||||
tuple[int, ...]
|
||||
* np.quantile with method closest_observation chooses nearest
|
||||
even order statistic
|
||||
* lapack_lite is now thread safe
|
||||
* The numpy.printoptions context manager is now thread and
|
||||
async-safe
|
||||
* Type hinting numpy.polynomial
|
||||
* Improved numpy.dtypes type hints
|
||||
## Performance improvements and changes
|
||||
* ma.cov and ma.corrcoef are now significantly faster
|
||||
## Changes
|
||||
* ma.corrcoef may return a slightly different result
|
||||
* Cast-safety fixes in copyto and full
|
||||
- Release 2.0.1
|
||||
## Improvements
|
||||
* np.quantile with method closest_observation chooses nearest
|
||||
even order statistic
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 13 06:04:49 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- remove meson-python upper limit (per upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 11 08:29:38 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Fix numpy-config path tests, provide reason for failing meson
|
||||
test
|
||||
- Remove mistaken pycache rpmlint filter
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 28 06:47:52 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 2.0.0, changes include:
|
||||
* Adds support for array parameter declaration in fortran...
|
||||
* Added ``bitwise_count`` UFuncs
|
||||
* Add binding for random pyx files
|
||||
* Use AVX512-FP16 SVML content for float16 umath functions
|
||||
* allow int sequences as shape arguments in numpy.memmap
|
||||
* Add .mT attribute for arrays
|
||||
* Create complex scalars from real and imaginary parts
|
||||
* add copy parameter for api.reshape function
|
||||
* make use of locals() in a comprehension fully compatible...
|
||||
* Add array API standard v2022.12 support to numpy.array_api
|
||||
* Change string to bool conversions to be consistent with...
|
||||
* Allow np.info on non-hashable objects with a dtype
|
||||
* let zeros, empty, and empty_like accept dtype classes
|
||||
* Bump C-ABI to 2 but accept older NumPy if compiled against...
|
||||
* Use high accuracy SVML for double precision umath functions
|
||||
* expose PyUFunc_GiveFloatingpointErrors in the dtype API
|
||||
* PyObject_IsTrue and PyObject_Not error handling in setflags
|
||||
* array2string does not add signs for positive integers.
|
||||
* Vectorize np.partition and np.argpartition using AVX-512
|
||||
* Create helper for conversion to arrays
|
||||
* Add size check for threaded array assignment
|
||||
* Finalize ``fastCopyAndTranpose`` and other old C-funcs/members...
|
||||
* assert_array_less should report max violations instead of...
|
||||
* Introduce tracer for enabled CPU targets on each optimized...
|
||||
* Extend np.add ufunc to work with unicode and byte dtypes
|
||||
* Add find/rfind ufuncs for unicode and byte dtypes
|
||||
* Make ``intp`` ``ssize_t`` and introduce characters nN
|
||||
* Add isdigit/isspace/isdecimal/isnumeric ufuncs for string...
|
||||
* DType API slot for descriptor finalization before array...
|
||||
* ensure passing ``np.dtype`` to itself doesn't crash
|
||||
* Vectorize np.sort and np.partition with AVX2
|
||||
* Change add/isalpha ufuncs to use buffer class & general...
|
||||
* Add strip/lstrip/rstrip ufuncs for unicode and bytes
|
||||
* Add ``matrix_norm``, ``vector_norm``, ``vecdot`` and ``matrix_transpose``
|
||||
* Make ``encoding=None`` the default in loadtxt
|
||||
* Introduce ``copy`` argument for ``np.asarray``
|
||||
* Introduce ``correction`` argument for ``np.var`` and ``np.std``...
|
||||
* Handle ``common`` blocks with ``kind`` specifications from modules
|
||||
* Handle ``iso_c_type`` mappings more consistently
|
||||
* Add ``device`` and ``to_device`` to ``numpy.ndarray``
|
||||
* Shrink MultiIterObject and make ``NPY_MAXARGS`` a runtime...
|
||||
* enable linking of external libraries in the f2py Meson backend
|
||||
* Don't use the _Complex extension in C++ mode
|
||||
* Add fft optional extension submodule to numpy.array_api
|
||||
* make arange ``start`` argument positional-only
|
||||
* Make numpy.array_api more portable
|
||||
* Adjust ``linalg.pinv`` and ``linalg.cholesky`` to Array...
|
||||
* define a gufunc for vecdot (with BLAS support)
|
||||
* Add ``rtol`` to ``matrix_rank`` and ``stable``
|
||||
* adjust nD fft ``s`` param to array API
|
||||
* three string ufunc bugs, one leading to segfault
|
||||
* allow building in cython with Py_LIMITED_API
|
||||
* support axes argument in np.linalg.tensordot
|
||||
* Add replace ufunc to np.strings
|
||||
* change list-of-array to tuple-of-array returns (Numba compat)
|
||||
* Wrap string ufuncs in np.strings to allow default arguments
|
||||
* Allow ``None`` as ``api_version`` in ``__array_namespace__``...
|
||||
* Vectorize argsort and argselect with AVX2
|
||||
* Use large file fallocate on 32 bit linux platforms
|
||||
* Allow strings in logical ufuncs
|
||||
* Allow NumPy int scalars to be divided by out-of-bound Python...
|
||||
* correct irfft with n=1 on larger input
|
||||
* check for overflow when converting a string to an int scalar
|
||||
* Ensure meson updates generated umath doc correctly.
|
||||
* support float and longdouble in FFT using C++ pocketfft...
|
||||
* Make any and all return booleans by default
|
||||
* Finalize future warning move in lstsq default
|
||||
* add a pkg-config file and a ``numpy-config`` script
|
||||
* Finalize future warning for shape=1 descriptor dropping...
|
||||
* Add index/rindex ufuncs for unicode and bytes dtypes
|
||||
* Add rest of unary ufuncs for unicode/bytes dtypes
|
||||
* Create ``PyArray_DescrProto`` for legacy descriptor registration
|
||||
* Make ``descr->f`` only accessible through ``PyDataType_GetArrFuncs``
|
||||
* ensure that FFT routines can deal with integer and bool...
|
||||
* ensure static_string.buf is never NULL for a non-null string
|
||||
* Include broadcasting for ``rtol`` argument in ``matrix_rank``
|
||||
* Add expandtabs ufunc for string & unicode dtypes
|
||||
* implement stringdtype <-> timedelta roundtrip casts
|
||||
* Make descr->f only accessible through ``PyDataType_GetArrFuncs``
|
||||
* Ensure non-array logspace base does not influence dtype...
|
||||
* Require reduce promoters to start with None to match
|
||||
* inherit numerical dtypes from abstract ones.
|
||||
* Infinite Loop in numpy.base_repr
|
||||
* Ensure seed sequences are restored through pickling
|
||||
* use PyArray_SafeCast in array_astype
|
||||
* introduce a notion of "compatible" stringdtype instances...
|
||||
* add support for nan-like null strings in string replace
|
||||
* Make sure that NumPy scalars are supported by can_cast
|
||||
* Disallow string inputs for copy keyword in np.array and...
|
||||
* Adds asanyarray to start of linalg.cross
|
||||
* weighted nanpercentile, nanquantile and multi-dim q
|
||||
- Remove patches, no longer required:
|
||||
* 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch
|
||||
* 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch
|
||||
* fix-meson-multiple-python-versions.patch
|
||||
* numpy-1.9.0-remove-__declspec.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun May 12 14:46:08 UTC 2024 - Sarah Kriesch <sarah.kriesch@opensuse.org>
|
||||
|
||||
- Enable openblas for python-numpy:gnu-hpc on s390x
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 23 12:52:21 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Add patch fix-meson-multiple-python-versions.patch:
|
||||
* Ensure meson executes sys.executable when testing Cython.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 16 19:12:21 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 1.26.4
|
||||
* NumPy 1.26.4 is a maintenance release that fixes bugs and
|
||||
regressions discovered after the 1.26.3 release. The Python
|
||||
versions supported by this release are 3.9-3.12. This is the
|
||||
last planned release in the 1.26.x series.
|
||||
* BUG: Restore missing asstr import
|
||||
* MAINT: prepare 1.26.x for further development
|
||||
* BUG: numpy.array_api: fix linalg.cholesky upper decomp...
|
||||
* MAINT, BLD: Fix unused inline functions warnings on clang
|
||||
* TST: Fix test_numeric on riscv64
|
||||
* MAINT: add newaxis to __all__ in numpy.array_api
|
||||
* BUG: Use large file fallocate on 32 bit linux platforms
|
||||
* TST: Fix test_warning_calls on Python 3.12
|
||||
* TST: Bump pytz to 2023.3.post1
|
||||
* BUG: Fix AVX512 build flags on Intel Classic Compiler
|
||||
* BLD: fix potential issue with escape sequences in __config__.py
|
||||
* BLD: unvendor meson-python on 1.26.x and upgrade to
|
||||
meson-python...
|
||||
* MAINT: Include header defining backtrace
|
||||
* BUG: Fix np.quantile([Fraction(2,1)], 0.5) (#24711)
|
||||
- Release 1.26.3
|
||||
## Compatibility
|
||||
* f2py will no longer accept ambiguous -m and .pyf CLI
|
||||
combinations. When more than one .pyf file is passed, an error
|
||||
is raised. When both -m and a .pyf is passed, a warning is
|
||||
emitted and the -m provided name is ignored.
|
||||
## Improvements
|
||||
* f2py now handles common blocks which have kind specifications
|
||||
from modules. This further expands the usability of intrinsics
|
||||
like iso_fortran_env and iso_c_binding.
|
||||
## Pull requests merged
|
||||
* MAINT: prepare 1.26.x for further development
|
||||
* TYP: add None to __getitem__ in numpy.array_api
|
||||
* BLD,BUG: quadmath required where available [f2py]
|
||||
* BUG: alpha doesn't use REAL(10)
|
||||
* BUG: Fix FP overflow error in division when the divisor is
|
||||
scalar
|
||||
* MAINT: Pin scipy-openblas version.
|
||||
* BUG: Fix f2py to enable use of string optional inout argument
|
||||
* BUG: Fix -fsanitize=alignment issue in
|
||||
numpy/_core/src/multiarray/arraytypes.c.src
|
||||
* TST: Explicitly pass NumPy path to cython during tests (also...
|
||||
* BUG: fix issues with newaxis and linalg.solve in
|
||||
numpy.array_api
|
||||
* BUG: Disallow shadowed modulenames
|
||||
* BUG: Handle common blocks with kind specifications from modules
|
||||
* BUG: Fix moving compiled executable to root with f2py -c on
|
||||
Windows
|
||||
* BUG: Fix single to half-precision conversion on PPC64/VSX3
|
||||
* TST: f2py: fix issue in test skip condition
|
||||
* Revert "MAINT: Pin scipy-openblas version."
|
||||
* MAINT: do not use long type
|
||||
* TST: PyPy needs another gc.collect on latest versions
|
||||
* MAINT: Bump conda-incubator/setup-miniconda from 2.2.0 to 3.0.1
|
||||
* BLD: update vendored Meson for AIX shared library fix
|
||||
* MAINT: Init base in cpu_avx512_kn
|
||||
* BUG: Fix failing test_features on SapphireRapids
|
||||
* BUG: Fix non-contiguous memory load when ARM/Neon is enabled
|
||||
* MAINT,BUG: Never import distutils above 3.12 [f2py]
|
||||
* MAINT: make the import-time check for old Accelerate more
|
||||
specific
|
||||
* MAINT: Bump actions/setup-node and
|
||||
larsoner/circleci-artifacts-redirector-action
|
||||
* BUG: avoid seg fault from OOB access in RandomState.set_state()
|
||||
* BUG: Fix two errors related to not checking for failed
|
||||
allocations
|
||||
* BUG: Fix regression with f2py wrappers when modules and
|
||||
subroutines...
|
||||
* BUG: Fix build issues on SPR
|
||||
* BLD: fix uninitialized variable warnings from
|
||||
simd/neon/memory.h
|
||||
* BUG: Handle iso_c_type mappings more consistently
|
||||
* BUG: Fix module name bug in signature files [urgent] [f2py]
|
||||
* BUG: Handle .pyf.src and fix SciPy [urgent]
|
||||
* DOC: f2py rewrite with meson details
|
||||
* BUG: Add external library handling for meson [f2py]
|
||||
* MAINT: Run f2py's meson backend with the same python that
|
||||
ran...
|
||||
* MAINT: Update numpy/f2py/_backends from main.
|
||||
* MAINT: Easy updates of f2py/*.py from main.
|
||||
* MAINT: Update crackfortran.py and f2py2e.py from main
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 28 13:54:34 UTC 2024 - Fabian Vogt <fvogt@suse.com>
|
||||
|
||||
- Add patch to fix detection of some features:
|
||||
* 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch
|
||||
- Add patch to fix test failure on some platforms (boo#1221902):
|
||||
* 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 15 16:35:46 UTC 2024 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- Update list of expected test failures on riscv64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 11 07:33:45 UTC 2024 - Torsten Gruner <simmphonie@opensuse.org>
|
||||
|
||||
- Fix gnu-hpc build error for Leap
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 27 12:57:32 UTC 2023 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Fix build error for Leap. Need gcc >= 8.5
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 13 06:53:32 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Do not attempt to ship numpy.distutils C code in the Python 3.12 -devel
|
||||
package, it is not installed.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 20 05:09:33 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 1.26.2:
|
||||
* TYP: Trim down the ``_NestedSequence.__getitem__`` signature
|
||||
* BUG: fix choose refcount leak
|
||||
* TST: fix running the test suite in builds without BLAS/LAPACK
|
||||
* BUG: random: Fix generation of nan by dirichlet.
|
||||
* TST: fix distutils tests for deprecations in recent setuptools...
|
||||
* MAINT: Remove versioneer
|
||||
* MAINT: Pin upper version of sphinx.
|
||||
* ENH: Add prefix to _ALIGN Macro
|
||||
* BUG: cleanup warnings [skip azp][skip circle][skip travis][skip...
|
||||
* BUG: ``asv dev`` has been removed, use ``asv run``.
|
||||
* BUG: Fix meson build failure due to unchanged inplace auto-generated...
|
||||
* BUG: fix issue with git-version script, needs a shebang to run
|
||||
* BUG: Use a default assignment for git_hash [skip ci]
|
||||
* BUG: fix NPY_cast_info error handling in choose
|
||||
* BUG: Fix common block handling in f2py
|
||||
* BUG: Fix assumed length f2py regression
|
||||
* MAINT: Harmonize fortranobject
|
||||
* TYP: add kind argument to numpy.isin type specification
|
||||
* BUG: fix comparisons between masked and unmasked structured arrays
|
||||
* ENH: Adopt new macOS Accelerate BLAS/LAPACK Interfaces, including...
|
||||
* TYP: Add the missing ``casting`` keyword to ``np.clip``
|
||||
* TST: convert cython test from setup.py to meson
|
||||
* MAINT: Fixup ``fromnumeric.pyi``
|
||||
* BUG, ENH: Fix ``iso_c_binding`` type maps
|
||||
* TYP: Allow ``binary_repr`` to accept any object
|
||||
* TYP: Explicitly declare ``dtype`` and ``generic`` hashable
|
||||
* ENH: Refactor the typing "reveal" tests using `typing.assert_type`
|
||||
* ENH: ``meson`` backend for ``f2py``
|
||||
* MAINT: Refactor partial load Workaround for Clang
|
||||
* BUG: Fix data stmt handling for complex values in f2py
|
||||
* TYP: Add annotations for the py3.12 buffer protocol
|
||||
* DOC: Updated the f2py docs to remove a note on -fimplicit-none
|
||||
* BUG: Fix SIMD f32 trunc test on s390x when baseline is none
|
||||
* BUG: Fix DATA statements for f2py
|
||||
* API: Add ``NumpyUnpickler`` for backporting
|
||||
* MAINT: Xfail test failing on PyPy.
|
||||
* ENH: meson: implement BLAS/LAPACK auto-detection
|
||||
* DOC: add a 1.26.1 release notes section for BLAS/LAPACK build
|
||||
* MAINT: Backport ``numpy._core`` stubs. Remove ``NumpyUnpickler``
|
||||
* BUG: loongarch doesn't use REAL(10)
|
||||
* MAINT: align test_dispatcher s390x targets with _umath_tests_mtargets
|
||||
* ENH: Add Cython enumeration for NPY_FR_GENERIC
|
||||
* MAINT: Remove unhelpful error replacements from ``import_array()``
|
||||
* BUG: Avoid intp conversion regression in Cython 3
|
||||
* MAINT: Add missing ``noexcept`` to shuffle helpers
|
||||
* DOC: Fix license identifier for OpenBLAS
|
||||
* BLD: improve detection of Netlib libblas/libcblas/liblapack
|
||||
* MAINT: Make bitfield integers unsigned
|
||||
* BUG: Make n a long int for np.random.multinomial
|
||||
* BUG: ensure passing ``np.dtype`` to itself doesn't crash
|
||||
- Update BuildRequires as appropiate, build system changed from setuptools
|
||||
to meson.
|
||||
- Drop patch ignore-pkg_resources-deprecation.patch, no longer required
|
||||
- f2py3 no longer shipped
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 16 11:31:28 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-numpy
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
%define ver 2.1.3
|
||||
%define _ver 2_1_3
|
||||
%define ver 1.25.2
|
||||
%define _ver 1_25_2
|
||||
%define pname python-numpy
|
||||
%define plainpython python
|
||||
%define hpc_upcase_trans_hyph() %(echo %{**} | tr [a-z] [A-Z] | tr '-' '_')
|
||||
@@ -39,6 +39,9 @@
|
||||
%if 0%{?sle_version} == 120300
|
||||
%{?with_openblas:ExclusiveArch: do_not_build}
|
||||
%endif
|
||||
%ifarch s390 s390x
|
||||
%{?with_openblas:ExclusiveArch: do_not_build}
|
||||
%endif
|
||||
%{?with_hpc:%{hpc_requires}}
|
||||
#
|
||||
%if 0%{?suse_version} > 1500
|
||||
@@ -81,25 +84,17 @@ Source: https://files.pythonhosted.org/packages/source/n/numpy/numpy-%{v
|
||||
Source99: python-numpy-rpmlintrc
|
||||
# PATCH-FIX-OPENSUSE numpy-buildfix.patch -- openSUSE-specific build fixes
|
||||
Patch0: numpy-buildfix.patch
|
||||
# PATCH-FIX-UPSTREAM update-meson-1_5_2.patch gh#numpy/numpy#27531 mcepl@suse.com
|
||||
# update vendored meson
|
||||
Patch1: update-meson-1_5_2.patch
|
||||
BuildRequires: %{python_module Cython >= 3.0}
|
||||
BuildRequires: %{python_module base >= 3.10}
|
||||
# PATCH-FIX-OPENSUSE numpy-1.9.0-remove-__declspec.patch -- fix for spurious compiler warnings that cause build failure
|
||||
Patch1: numpy-1.9.0-remove-__declspec.patch
|
||||
# PATCH-FIX-OPENSUSE Ignore DeprecationWarnings when importing pkg_resources
|
||||
Patch2: ignore-pkg_resources-deprecation.patch
|
||||
BuildRequires: %{python_module Cython >= 0.29.30 with %python-Cython < 3}
|
||||
BuildRequires: %{python_module base >= 3.8}
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module meson-python >= 0.15}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module pyproject-metadata >= 0.7.1}
|
||||
BuildRequires: cmake
|
||||
%if 0%{?suse_version} < 1600
|
||||
BuildRequires: gcc12
|
||||
BuildRequires: gcc12-c++
|
||||
%else
|
||||
BuildRequires: gcc
|
||||
BuildRequires: %{python_module setuptools >= 60.0.0}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: ninja >= 1.8.2
|
||||
BuildRequires: patchelf
|
||||
BuildRequires: python-rpm-macros >= 20210929
|
||||
BuildConflicts: gcc11 < 11.2
|
||||
%if 0%{?suse_version}
|
||||
@@ -136,7 +131,7 @@ BuildRequires: alts
|
||||
Requires: alts
|
||||
%else
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
%endif
|
||||
%else
|
||||
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||
@@ -191,20 +186,13 @@ This package contains files for developing applications using numpy.
|
||||
%prep
|
||||
%autosetup -p1 -n numpy-%{version}
|
||||
# Fix non-executable scripts
|
||||
sed -i '1{/^#!/d}'\
|
||||
numpy/distutils/{conv_template,cpuinfo,from_template,system_info}.py \
|
||||
numpy/f2py/{__init__,cfuncs,diagnose,crackfortran,f2py2e,rules}.py \
|
||||
numpy/random/_examples/cython/extending{,_distributions}.pyx \
|
||||
numpy/testing/print_coercion_tables.py
|
||||
chmod -x \
|
||||
numpy/f2py/{crackfortran,f2py2e,rules}.py \
|
||||
numpy/testing/print_coercion_tables.py
|
||||
sed -i '1s/^#!.*$//' numpy/{compat/setup,random/_examples/cython/setup,distutils/{conv_template,cpuinfo,exec_command,from_template,setup,system_info},f2py/{__init__,auxfuncs,capi_maps,cb_rules,cfuncs,common_rules,crackfortran,diagnose,f2py2e,f90mod_rules,func2subr,rules,setup,use_rules},matrixlib/setup,setup,testing/{print_coercion_tables,setup}}.py
|
||||
sed -i '1s/^#!.*$//' numpy/random/_examples/cython/*.pyx
|
||||
|
||||
# force cythonization
|
||||
rm -f PKG-INFO
|
||||
|
||||
%build
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
%define _lto_cflags %{nil}
|
||||
%if %{with hpc}
|
||||
%hpc_setup
|
||||
@@ -219,10 +207,6 @@ EOF
|
||||
%else
|
||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||
%endif
|
||||
%if 0%{?suse_version} < 1600
|
||||
export CC=gcc-12
|
||||
export CXX=g++-12
|
||||
%endif
|
||||
|
||||
%pyproject_wheel
|
||||
|
||||
@@ -234,7 +218,9 @@ export CXX=g++-12
|
||||
|
||||
%if !%{with hpc}
|
||||
%python_clone -a %{buildroot}%{_bindir}/f2py
|
||||
%python_clone -a %{buildroot}%{_bindir}/numpy-config
|
||||
%python_expand rm %{buildroot}%{$python_sitearch}/numpy/core/include/numpy/.doxyfile
|
||||
%else
|
||||
rm %{buildroot}%{p_python_sitearch}/numpy/core/include/numpy/.doxyfile
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version}
|
||||
@@ -247,7 +233,7 @@ export CXX=g++-12
|
||||
%{python_expand # Don't package testsuite
|
||||
python_flavor=`cat _current_flavor`
|
||||
sitesearch_path=`$python -c "import sysconfig as s; print(s.get_paths(vars={'platbase':'%{hpc_prefix}','base':'%{hpc_prefix}'}).get('platlib'))"`
|
||||
rm -rf %{buildroot}${sitesearch_path}/numpy/{,_core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests
|
||||
rm -rf %{buildroot}${sitesearch_path}/numpy/{,core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests
|
||||
%hpc_write_modules_files
|
||||
#%%Module1.0#####################################################################
|
||||
|
||||
@@ -288,18 +274,11 @@ EOF
|
||||
%check
|
||||
# https://numpy.org/doc/stable/dev/development_environment.html#running-tests
|
||||
%if %{without hpc}
|
||||
export PATH="%{buildroot}%{_bindir}:$PATH"
|
||||
|
||||
mkdir -p testing
|
||||
cp pytest.ini testing/
|
||||
pushd testing
|
||||
%python_flavored_alternatives
|
||||
%if %{with libalternatives}
|
||||
%{python_expand #
|
||||
for b in f2py numpy-config; do
|
||||
ln -s %{buildroot}%{_bindir}/$b-%{$python_bin_suffix} build/flavorbin/$b
|
||||
done
|
||||
}
|
||||
%endif
|
||||
|
||||
# flaky tests
|
||||
test_failok+=" or test_structured_object_indexing"
|
||||
@@ -344,20 +323,16 @@ test_failok+=" or (test_multinomial_pvals_float32)"
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
# https://github.com/numpy/numpy/issues/24001
|
||||
test_failok+=" or (test_cpu_features and test_impossible_feature_enable)"
|
||||
test_failok+=" or (test_cpu_features and test_features)"
|
||||
test_failok+=" or (test_umath and test_unary_spurious_fpexception)"
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
# These tests fail due to non-portable assumptions about the signbit of NaN
|
||||
# gh#numpy/numpy#8213
|
||||
test_failok+=" or (test_umath and test_fpclass)"
|
||||
test_failok+=" or (test_numeric and TestBoolCmp and test_float)"
|
||||
test_failok+=" or (test_umath and test_fp_noncontiguous)"
|
||||
test_failok+=" or test_fpclass"
|
||||
test_failok+=" or test_float"
|
||||
%endif
|
||||
# The meson command is always on the primary python and wants to import numpy from there
|
||||
test_failok+=" or test_limited_api"
|
||||
# gh#numpy/numpy#27531
|
||||
test_failok+=" or test_api_importable"
|
||||
|
||||
echo "
|
||||
import sys
|
||||
@@ -372,7 +347,7 @@ export PYTHONPATH=%{buildroot}%{$python_sitearch}
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
[ -n "$test_failok" ] && $python runobstest.py "${test_failok:4}" ||:
|
||||
# test_new_policy: duplicates test runs and output and does not follow our deselection
|
||||
$python runobstest.py "not (test_new_policy ${test_failok} or slow)"
|
||||
$python runobstest.py "not (test_new_policy ${test_failok})"
|
||||
}
|
||||
|
||||
popd
|
||||
@@ -384,7 +359,7 @@ popd
|
||||
%python_libalternatives_reset_alternative f2py
|
||||
|
||||
%post
|
||||
%python_install_alternative f2py numpy-config
|
||||
%python_install_alternative f2py
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative f2py
|
||||
@@ -392,32 +367,37 @@ popd
|
||||
|
||||
%files %{python_files}
|
||||
%doc README.md THANKS.txt
|
||||
%license LICENSE.txt
|
||||
%if %{without hpc}
|
||||
%python_alternative %{_bindir}/f2py
|
||||
%python_alternative %{_bindir}/numpy-config
|
||||
%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3"
|
||||
%{_bindir}/f2py3
|
||||
%else
|
||||
%exclude %{_bindir}/f2py3
|
||||
%endif
|
||||
%{_bindir}/f2py%{python_bin_suffix}
|
||||
%{python_sitearch}/numpy/
|
||||
%{python_sitearch}/numpy-%{version}.dist-info
|
||||
%exclude %{python_sitearch}/numpy/_core/include
|
||||
%exclude %{python_sitearch}/numpy/_core/lib/libnpymath.a
|
||||
%exclude %{python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
|
||||
%{python_sitearch}/numpy-%{version}*-info
|
||||
%license %{python_sitearch}/numpy/LICENSE.txt
|
||||
%exclude %{python_sitearch}/numpy/core/include/
|
||||
%exclude %{python_sitearch}/numpy/distutils/mingw/*.c
|
||||
%exclude %{python_sitearch}/numpy/distutils/checks/*.c
|
||||
%exclude %{python_sitearch}/numpy/f2py/src/
|
||||
%exclude %{python_sitearch}/numpy/core/lib/libnpymath.a
|
||||
%exclude %{python_sitearch}/numpy/random/lib/libnpyrandom.a
|
||||
%else
|
||||
%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3"
|
||||
%{p_bindir}/f2py
|
||||
%{p_bindir}/numpy-config
|
||||
%{p_bindir}/f2py3
|
||||
%else
|
||||
%exclude %{p_bindir}/f2py
|
||||
%exclude %{p_bindir}/numpy-config
|
||||
%exclude %{p_bindir}/f2py3
|
||||
%endif
|
||||
%{p_bindir}/f2py%{python_bin_suffix}
|
||||
%{p_python_sitearch}/numpy/
|
||||
%{p_python_sitearch}/numpy-%{version}.dist-info
|
||||
%exclude %{p_python_sitearch}/numpy/_core/include/
|
||||
%exclude %{p_python_sitearch}/numpy/_core/lib/libnpymath.a
|
||||
%exclude %{p_python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
|
||||
%{p_python_sitearch}/numpy-%{version}*-info
|
||||
%license %{p_python_sitearch}/numpy/LICENSE.txt
|
||||
%exclude %{p_python_sitearch}/numpy/core/include/
|
||||
%exclude %{p_python_sitearch}/numpy/core/lib/libnpymath.a
|
||||
%exclude %{p_python_sitearch}/numpy/random/lib/libnpyrandom.a
|
||||
%exclude %{p_python_sitearch}/numpy/distutils/mingw/*.c
|
||||
%exclude %{p_python_sitearch}/numpy/distutils/checks/*.c
|
||||
@@ -436,24 +416,18 @@ popd
|
||||
%files %{python_files devel}
|
||||
%license LICENSE.txt
|
||||
%if %{without hpc}
|
||||
%{python_sitearch}/numpy/_core/include/
|
||||
%if 0%{python_version_nodots} < 312
|
||||
%{python_sitearch}/numpy/core/include/
|
||||
%{python_sitearch}/numpy/distutils/mingw/*.c
|
||||
%{python_sitearch}/numpy/distutils/checks/*.c
|
||||
%endif
|
||||
%{python_sitearch}/numpy/f2py/src/
|
||||
%{python_sitearch}/numpy/_core/lib/libnpymath.a
|
||||
%{python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
|
||||
%{python_sitearch}/numpy/core/lib/libnpymath.a
|
||||
%{python_sitearch}/numpy/random/lib/libnpyrandom.a
|
||||
%else
|
||||
%{p_python_sitearch}/numpy/_core/include/
|
||||
%{p_python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
|
||||
%{p_python_sitearch}/numpy/_core/lib/libnpymath.a
|
||||
%{p_python_sitearch}/numpy/core/include/
|
||||
%{p_python_sitearch}/numpy/core/lib/libnpymath.a
|
||||
%{p_python_sitearch}/numpy/random/lib/libnpyrandom.a
|
||||
%if 0%{python_version_nodots} < 312
|
||||
%{p_python_sitearch}/numpy/distutils/mingw/*.c
|
||||
%{p_python_sitearch}/numpy/distutils/checks/*.c
|
||||
%endif
|
||||
%{p_python_sitearch}/numpy/f2py/src/
|
||||
%endif
|
||||
|
||||
|
@@ -1,612 +0,0 @@
|
||||
diff -uNr numpy-2.1.3.orig/vendored-meson/meson/ci/ciimage/.gitignore numpy-2.1.3/vendored-meson/meson/ci/ciimage/.gitignore
|
||||
--- numpy-2.1.3.orig/vendored-meson/meson/ci/ciimage/.gitignore 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ numpy-2.1.3/vendored-meson/meson/ci/ciimage/.gitignore 2024-11-22 23:52:31.819240220 +0100
|
||||
@@ -0,0 +1,3 @@
|
||||
+/build_*
|
||||
+/test_*
|
||||
+/user.sh
|
||||
diff -uNr numpy-2.1.3.orig/vendored-meson/meson/.git numpy-2.1.3/vendored-meson/meson/.git
|
||||
--- numpy-2.1.3.orig/vendored-meson/meson/.git 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ numpy-2.1.3/vendored-meson/meson/.git 2024-11-22 23:52:31.599238818 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+gitdir: ../../.git/modules/vendored-meson/meson
|
||||
diff -uNr numpy-2.1.3.orig/vendored-meson/meson/.gitattributes numpy-2.1.3/vendored-meson/meson/.gitattributes
|
||||
--- numpy-2.1.3.orig/vendored-meson/meson/.gitattributes 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ numpy-2.1.3/vendored-meson/meson/.gitattributes 2024-11-22 23:52:31.815906865 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+.gitignore export-ignore
|
||||
+.gitattributes export-ignore
|
||||
+* text eol=lf
|
||||
+*.png binary
|
||||
+*.icns binary
|
||||
+data/shell-completions/bash/meson linguist-language=Shell
|
||||
+data/shell-completions/zsh/_meson linguist-language=Shell
|
||||
diff -uNr numpy-2.1.3.orig/vendored-meson/meson/.gitignore numpy-2.1.3/vendored-meson/meson/.gitignore
|
||||
--- numpy-2.1.3.orig/vendored-meson/meson/.gitignore 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ numpy-2.1.3/vendored-meson/meson/.gitignore 2024-11-22 23:52:31.815906865 +0100
|
||||
@@ -0,0 +1,34 @@
|
||||
+.mypy_cache/
|
||||
+.pytest_cache/
|
||||
+/.project
|
||||
+/.pydevproject
|
||||
+/.settings
|
||||
+/.cproject
|
||||
+/.idea
|
||||
+/.vscode
|
||||
+
|
||||
+__pycache__
|
||||
+/.coverage/
|
||||
+/.coveragerc
|
||||
+/install dir
|
||||
+/work area
|
||||
+
|
||||
+/meson-test-run.txt
|
||||
+/meson-test-run.xml
|
||||
+/meson-cross-test-run.txt
|
||||
+/meson-cross-test-run.xml
|
||||
+
|
||||
+.DS_Store
|
||||
+*~
|
||||
+*.swp
|
||||
+packagecache
|
||||
+/MANIFEST
|
||||
+/build
|
||||
+/dist
|
||||
+/meson.egg-info
|
||||
+
|
||||
+/docs/built_docs
|
||||
+/docs/hotdoc-private*
|
||||
+
|
||||
+*.pyc
|
||||
+/*venv*
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/common/153 wrap file should not failed/subprojects/.gitignore" "numpy-2.1.3/vendored-meson/meson/test cases/common/153 wrap file should not failed/subprojects/.gitignore"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/common/153 wrap file should not failed/subprojects/.gitignore" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/common/153 wrap file should not failed/subprojects/.gitignore" 2024-11-22 23:52:31.892574021 +0100
|
||||
@@ -0,0 +1,3 @@
|
||||
+/foo-1.0
|
||||
+/bar-1.0
|
||||
+/foo-1.0-patchdir
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/common/234 get_file_contents/.gitattributes" "numpy-2.1.3/vendored-meson/meson/test cases/common/234 get_file_contents/.gitattributes"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/common/234 get_file_contents/.gitattributes" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/common/234 get_file_contents/.gitattributes" 2024-11-22 23:52:31.905907439 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+utf-16-text binary
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/d/11 dub/.gitignore" "numpy-2.1.3/vendored-meson/meson/test cases/d/11 dub/.gitignore"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/d/11 dub/.gitignore" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/d/11 dub/.gitignore" 2024-11-22 23:52:31.819240220 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+dub.json
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_asimd.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_asimd.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_asimd.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_asimd.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,27 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ float *src = (float*)argv[argc-1];
|
||||
+ float32x4_t v1 = vdupq_n_f32(src[0]), v2 = vdupq_n_f32(src[1]);
|
||||
+ /* MAXMIN */
|
||||
+ int ret = (int)vgetq_lane_f32(vmaxnmq_f32(v1, v2), 0);
|
||||
+ ret += (int)vgetq_lane_f32(vminnmq_f32(v1, v2), 0);
|
||||
+ /* ROUNDING */
|
||||
+ ret += (int)vgetq_lane_f32(vrndq_f32(v1), 0);
|
||||
+#ifdef __aarch64__
|
||||
+ {
|
||||
+ double *src2 = (double*)argv[argc-1];
|
||||
+ float64x2_t vd1 = vdupq_n_f64(src2[0]), vd2 = vdupq_n_f64(src2[1]);
|
||||
+ /* MAXMIN */
|
||||
+ ret += (int)vgetq_lane_f64(vmaxnmq_f64(vd1, vd2), 0);
|
||||
+ ret += (int)vgetq_lane_f64(vminnmq_f64(vd1, vd2), 0);
|
||||
+ /* ROUNDING */
|
||||
+ ret += (int)vgetq_lane_f64(vrndq_f64(vd1), 0);
|
||||
+ }
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,19 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ // passing from untraced pointers to avoid optimizing out any constants
|
||||
+ // so we can test against the linker.
|
||||
+ float *src = (float*)argv[argc-1];
|
||||
+ float32x4_t v1 = vdupq_n_f32(src[0]), v2 = vdupq_n_f32(src[1]);
|
||||
+ int ret = (int)vgetq_lane_f32(vmulq_f32(v1, v2), 0);
|
||||
+#ifdef __aarch64__
|
||||
+ double *src2 = (double*)argv[argc-2];
|
||||
+ float64x2_t vd1 = vdupq_n_f64(src2[0]), vd2 = vdupq_n_f64(src2[1]);
|
||||
+ ret += (int)vgetq_lane_f64(vmulq_f64(vd1, vd2), 0);
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_fp16.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_fp16.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_fp16.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_fp16.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,11 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ short *src = (short*)argv[argc-1];
|
||||
+ float32x4_t v_z4 = vcvt_f32_f16((float16x4_t)vld1_s16(src));
|
||||
+ return (int)vgetq_lane_f32(v_z4, 0);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_vfpv4.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_vfpv4.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_vfpv4.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_neon_vfpv4.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,21 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ float *src = (float*)argv[argc-1];
|
||||
+ float32x4_t v1 = vdupq_n_f32(src[0]);
|
||||
+ float32x4_t v2 = vdupq_n_f32(src[1]);
|
||||
+ float32x4_t v3 = vdupq_n_f32(src[2]);
|
||||
+ int ret = (int)vgetq_lane_f32(vfmaq_f32(v1, v2, v3), 0);
|
||||
+#ifdef __aarch64__
|
||||
+ double *src2 = (double*)argv[argc-2];
|
||||
+ float64x2_t vd1 = vdupq_n_f64(src2[0]);
|
||||
+ float64x2_t vd2 = vdupq_n_f64(src2[1]);
|
||||
+ float64x2_t vd3 = vdupq_n_f64(src2[2]);
|
||||
+ ret += (int)vgetq_lane_f64(vfmaq_f64(vd1, vd2, vd3), 0);
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <xmmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128 a = _mm_add_ps(_mm_setzero_ps(), _mm_setzero_ps());
|
||||
+ return (int)_mm_cvtss_f32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse2.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse2.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse2.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse2.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <emmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128i a = _mm_add_epi16(_mm_setzero_si128(), _mm_setzero_si128());
|
||||
+ return _mm_cvtsi128_si32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse3.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse3.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse3.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse3.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <pmmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128 a = _mm_hadd_ps(_mm_setzero_ps(), _mm_setzero_ps());
|
||||
+ return (int)_mm_cvtss_f32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse41.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse41.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse41.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_sse41.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <smmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128 a = _mm_floor_ps(_mm_setzero_ps());
|
||||
+ return (int)_mm_cvtss_f32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_ssse3.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_ssse3.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_ssse3.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/checks/cpu_ssse3.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <tmmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128i a = _mm_hadd_epi16(_mm_setzero_si128(), _mm_setzero_si128());
|
||||
+ return (int)_mm_cvtsi128_si32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/meson.build" "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/meson.build"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/1 baseline/init_features/meson.build" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/1 baseline/init_features/meson.build" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,98 @@
|
||||
+#project('test-features', 'c')
|
||||
+mod_features = import('features')
|
||||
+cpu_family = host_machine.cpu_family()
|
||||
+compiler_id = meson.get_compiler('c').get_id()
|
||||
+source_root = meson.project_source_root() + '/../init_features/'
|
||||
+# Basic X86 Features
|
||||
+# ------------------
|
||||
+SSE = mod_features.new(
|
||||
+ 'SSE', 1, args: '-msse',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse.c')[0]
|
||||
+)
|
||||
+SSE2 = mod_features.new(
|
||||
+ 'SSE2', 2, implies: SSE,
|
||||
+ args: '-msse2',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse2.c')[0]
|
||||
+)
|
||||
+# enabling SSE without SSE2 is useless also
|
||||
+# it's non-optional for x86_64
|
||||
+SSE.update(implies: SSE2)
|
||||
+SSE3 = mod_features.new(
|
||||
+ 'SSE3', 3, implies: SSE2,
|
||||
+ args: '-msse3',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse3.c')[0]
|
||||
+)
|
||||
+SSSE3 = mod_features.new(
|
||||
+ 'SSSE3', 4, implies: SSE3,
|
||||
+ args: '-mssse3',
|
||||
+ test_code: files(source_root + 'checks/cpu_ssse3.c')[0]
|
||||
+)
|
||||
+SSE41 = mod_features.new(
|
||||
+ 'SSE41', 5, implies: SSSE3,
|
||||
+ args: '-msse4.1',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse41.c')[0]
|
||||
+)
|
||||
+if cpu_family not in ['x86', 'x86_64']
|
||||
+ # should disable any prevalent features
|
||||
+ SSE.update(disable: 'not supported by the current platform')
|
||||
+endif
|
||||
+# Specializations for non unix-like compilers
|
||||
+if compiler_id == 'intel-cl'
|
||||
+ foreach fet : [SSE, SSE2, SSE3, SSSE3]
|
||||
+ fet.update(args: {'val': '/arch:' + fet.get('name'), 'match': '/arch:.*'})
|
||||
+ endforeach
|
||||
+ SSE41.update(args: {'val': '/arch:SSE4.1', 'match': '/arch:.*'})
|
||||
+elif compiler_id == 'msvc'
|
||||
+ # only available on 32-bit. Its enabled by default on 64-bit mode
|
||||
+ foreach fet : [SSE, SSE2]
|
||||
+ if cpu_family == 'x86'
|
||||
+ fet.update(args: {'val': '/arch:' + fet.get('name'), 'match': clear_arch})
|
||||
+ else
|
||||
+ fet.update(args: '')
|
||||
+ endif
|
||||
+ endforeach
|
||||
+ # The following features don't own private FLAGS still
|
||||
+ # the compiler provides ISA capability for them.
|
||||
+ foreach fet : [SSE3, SSSE3, SSE41]
|
||||
+ fet.update(args: '')
|
||||
+ endforeach
|
||||
+endif
|
||||
+
|
||||
+# Basic ARM Features
|
||||
+# ------------------
|
||||
+NEON = mod_features.new(
|
||||
+ 'NEON', 200,
|
||||
+ test_code: files(source_root + 'checks/cpu_neon.c')[0]
|
||||
+)
|
||||
+NEON_FP16 = mod_features.new(
|
||||
+ 'NEON_FP16', 201, implies: NEON,
|
||||
+ test_code: files(source_root + 'checks/cpu_neon_fp16.c')[0]
|
||||
+)
|
||||
+# FMA
|
||||
+NEON_VFPV4 = mod_features.new(
|
||||
+ 'NEON_VFPV4', 202, implies: NEON_FP16,
|
||||
+ test_code: files(source_root + 'checks/cpu_neon_vfpv4.c')[0]
|
||||
+)
|
||||
+# Advanced SIMD
|
||||
+ASIMD = mod_features.new(
|
||||
+ 'ASIMD', 203, implies: NEON_VFPV4, detect: {'val': 'ASIMD', 'match': 'NEON.*'},
|
||||
+ test_code: files(source_root + 'checks/cpu_asimd.c')[0]
|
||||
+)
|
||||
+if cpu_family == 'aarch64'
|
||||
+ # hardware baseline, they can't be enabled independently
|
||||
+ NEON.update(implies: [NEON_FP16, NEON_VFPV4, ASIMD])
|
||||
+ NEON_FP16.update(implies: [NEON, NEON_VFPV4, ASIMD])
|
||||
+ NEON_VFPV4.update(implies: [NEON, NEON_FP16, ASIMD])
|
||||
+elif cpu_family == 'arm'
|
||||
+ NEON.update(args: '-mfpu=neon')
|
||||
+ NEON_FP16.update(args: ['-mfp16-format=ieee', {'val': '-mfpu=neon-fp16', 'match': '-mfpu=.*'}])
|
||||
+ NEON_VFPV4.update(args: {'val': '-mfpu=neon-vfpv4', 'match': '-mfpu=.*'})
|
||||
+ ASIMD.update(args: [
|
||||
+ {'val': '-mfpu=neon-fp-armv8', 'match': '-mfpu=.*'},
|
||||
+ '-march=armv8-a+simd'
|
||||
+ ])
|
||||
+else
|
||||
+ # should disable any prevalent features
|
||||
+ NEON.update(disable: 'not supported by the current platform')
|
||||
+endif
|
||||
+
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_asimd.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_asimd.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_asimd.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_asimd.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,27 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ float *src = (float*)argv[argc-1];
|
||||
+ float32x4_t v1 = vdupq_n_f32(src[0]), v2 = vdupq_n_f32(src[1]);
|
||||
+ /* MAXMIN */
|
||||
+ int ret = (int)vgetq_lane_f32(vmaxnmq_f32(v1, v2), 0);
|
||||
+ ret += (int)vgetq_lane_f32(vminnmq_f32(v1, v2), 0);
|
||||
+ /* ROUNDING */
|
||||
+ ret += (int)vgetq_lane_f32(vrndq_f32(v1), 0);
|
||||
+#ifdef __aarch64__
|
||||
+ {
|
||||
+ double *src2 = (double*)argv[argc-1];
|
||||
+ float64x2_t vd1 = vdupq_n_f64(src2[0]), vd2 = vdupq_n_f64(src2[1]);
|
||||
+ /* MAXMIN */
|
||||
+ ret += (int)vgetq_lane_f64(vmaxnmq_f64(vd1, vd2), 0);
|
||||
+ ret += (int)vgetq_lane_f64(vminnmq_f64(vd1, vd2), 0);
|
||||
+ /* ROUNDING */
|
||||
+ ret += (int)vgetq_lane_f64(vrndq_f64(vd1), 0);
|
||||
+ }
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,19 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ // passing from untraced pointers to avoid optimizing out any constants
|
||||
+ // so we can test against the linker.
|
||||
+ float *src = (float*)argv[argc-1];
|
||||
+ float32x4_t v1 = vdupq_n_f32(src[0]), v2 = vdupq_n_f32(src[1]);
|
||||
+ int ret = (int)vgetq_lane_f32(vmulq_f32(v1, v2), 0);
|
||||
+#ifdef __aarch64__
|
||||
+ double *src2 = (double*)argv[argc-2];
|
||||
+ float64x2_t vd1 = vdupq_n_f64(src2[0]), vd2 = vdupq_n_f64(src2[1]);
|
||||
+ ret += (int)vgetq_lane_f64(vmulq_f64(vd1, vd2), 0);
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_fp16.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_fp16.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_fp16.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_fp16.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,11 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ short *src = (short*)argv[argc-1];
|
||||
+ float32x4_t v_z4 = vcvt_f32_f16((float16x4_t)vld1_s16(src));
|
||||
+ return (int)vgetq_lane_f32(v_z4, 0);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_vfpv4.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_vfpv4.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_vfpv4.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_neon_vfpv4.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,21 @@
|
||||
+#ifdef _MSC_VER
|
||||
+ #include <Intrin.h>
|
||||
+#endif
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ float *src = (float*)argv[argc-1];
|
||||
+ float32x4_t v1 = vdupq_n_f32(src[0]);
|
||||
+ float32x4_t v2 = vdupq_n_f32(src[1]);
|
||||
+ float32x4_t v3 = vdupq_n_f32(src[2]);
|
||||
+ int ret = (int)vgetq_lane_f32(vfmaq_f32(v1, v2, v3), 0);
|
||||
+#ifdef __aarch64__
|
||||
+ double *src2 = (double*)argv[argc-2];
|
||||
+ float64x2_t vd1 = vdupq_n_f64(src2[0]);
|
||||
+ float64x2_t vd2 = vdupq_n_f64(src2[1]);
|
||||
+ float64x2_t vd3 = vdupq_n_f64(src2[2]);
|
||||
+ ret += (int)vgetq_lane_f64(vfmaq_f64(vd1, vd2, vd3), 0);
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <xmmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128 a = _mm_add_ps(_mm_setzero_ps(), _mm_setzero_ps());
|
||||
+ return (int)_mm_cvtss_f32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse2.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse2.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse2.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse2.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <emmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128i a = _mm_add_epi16(_mm_setzero_si128(), _mm_setzero_si128());
|
||||
+ return _mm_cvtsi128_si32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse3.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse3.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse3.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse3.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <pmmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128 a = _mm_hadd_ps(_mm_setzero_ps(), _mm_setzero_ps());
|
||||
+ return (int)_mm_cvtss_f32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse41.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse41.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse41.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_sse41.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <smmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128 a = _mm_floor_ps(_mm_setzero_ps());
|
||||
+ return (int)_mm_cvtss_f32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_ssse3.c" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_ssse3.c"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_ssse3.c" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/checks/cpu_ssse3.c" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,7 @@
|
||||
+#include <tmmintrin.h>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ __m128i a = _mm_hadd_epi16(_mm_setzero_si128(), _mm_setzero_si128());
|
||||
+ return (int)_mm_cvtsi128_si32(a);
|
||||
+}
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/meson.build" "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/meson.build"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/features/2 multi_targets/init_features/meson.build" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/features/2 multi_targets/init_features/meson.build" 2024-11-22 23:52:31.835906993 +0100
|
||||
@@ -0,0 +1,98 @@
|
||||
+#project('test-features', 'c')
|
||||
+mod_features = import('features')
|
||||
+cpu_family = host_machine.cpu_family()
|
||||
+compiler_id = meson.get_compiler('c').get_id()
|
||||
+source_root = meson.project_source_root() + '/../init_features/'
|
||||
+# Basic X86 Features
|
||||
+# ------------------
|
||||
+SSE = mod_features.new(
|
||||
+ 'SSE', 1, args: '-msse',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse.c')[0]
|
||||
+)
|
||||
+SSE2 = mod_features.new(
|
||||
+ 'SSE2', 2, implies: SSE,
|
||||
+ args: '-msse2',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse2.c')[0]
|
||||
+)
|
||||
+# enabling SSE without SSE2 is useless also
|
||||
+# it's non-optional for x86_64
|
||||
+SSE.update(implies: SSE2)
|
||||
+SSE3 = mod_features.new(
|
||||
+ 'SSE3', 3, implies: SSE2,
|
||||
+ args: '-msse3',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse3.c')[0]
|
||||
+)
|
||||
+SSSE3 = mod_features.new(
|
||||
+ 'SSSE3', 4, implies: SSE3,
|
||||
+ args: '-mssse3',
|
||||
+ test_code: files(source_root + 'checks/cpu_ssse3.c')[0]
|
||||
+)
|
||||
+SSE41 = mod_features.new(
|
||||
+ 'SSE41', 5, implies: SSSE3,
|
||||
+ args: '-msse4.1',
|
||||
+ test_code: files(source_root + 'checks/cpu_sse41.c')[0]
|
||||
+)
|
||||
+if cpu_family not in ['x86', 'x86_64']
|
||||
+ # should disable any prevalent features
|
||||
+ SSE.update(disable: 'not supported by the current platform')
|
||||
+endif
|
||||
+# Specializations for non unix-like compilers
|
||||
+if compiler_id == 'intel-cl'
|
||||
+ foreach fet : [SSE, SSE2, SSE3, SSSE3]
|
||||
+ fet.update(args: {'val': '/arch:' + fet.get('name'), 'match': '/arch:.*'})
|
||||
+ endforeach
|
||||
+ SSE41.update(args: {'val': '/arch:SSE4.1', 'match': '/arch:.*'})
|
||||
+elif compiler_id == 'msvc'
|
||||
+ # only available on 32-bit. Its enabled by default on 64-bit mode
|
||||
+ foreach fet : [SSE, SSE2]
|
||||
+ if cpu_family == 'x86'
|
||||
+ fet.update(args: {'val': '/arch:' + fet.get('name'), 'match': clear_arch})
|
||||
+ else
|
||||
+ fet.update(args: '')
|
||||
+ endif
|
||||
+ endforeach
|
||||
+ # The following features don't own private FLAGS still
|
||||
+ # the compiler provides ISA capability for them.
|
||||
+ foreach fet : [SSE3, SSSE3, SSE41]
|
||||
+ fet.update(args: '')
|
||||
+ endforeach
|
||||
+endif
|
||||
+
|
||||
+# Basic ARM Features
|
||||
+# ------------------
|
||||
+NEON = mod_features.new(
|
||||
+ 'NEON', 200,
|
||||
+ test_code: files(source_root + 'checks/cpu_neon.c')[0]
|
||||
+)
|
||||
+NEON_FP16 = mod_features.new(
|
||||
+ 'NEON_FP16', 201, implies: NEON,
|
||||
+ test_code: files(source_root + 'checks/cpu_neon_fp16.c')[0]
|
||||
+)
|
||||
+# FMA
|
||||
+NEON_VFPV4 = mod_features.new(
|
||||
+ 'NEON_VFPV4', 202, implies: NEON_FP16,
|
||||
+ test_code: files(source_root + 'checks/cpu_neon_vfpv4.c')[0]
|
||||
+)
|
||||
+# Advanced SIMD
|
||||
+ASIMD = mod_features.new(
|
||||
+ 'ASIMD', 203, implies: NEON_VFPV4, detect: {'val': 'ASIMD', 'match': 'NEON.*'},
|
||||
+ test_code: files(source_root + 'checks/cpu_asimd.c')[0]
|
||||
+)
|
||||
+if cpu_family == 'aarch64'
|
||||
+ # hardware baseline, they can't be enabled independently
|
||||
+ NEON.update(implies: [NEON_FP16, NEON_VFPV4, ASIMD])
|
||||
+ NEON_FP16.update(implies: [NEON, NEON_VFPV4, ASIMD])
|
||||
+ NEON_VFPV4.update(implies: [NEON, NEON_FP16, ASIMD])
|
||||
+elif cpu_family == 'arm'
|
||||
+ NEON.update(args: '-mfpu=neon')
|
||||
+ NEON_FP16.update(args: ['-mfp16-format=ieee', {'val': '-mfpu=neon-fp16', 'match': '-mfpu=.*'}])
|
||||
+ NEON_VFPV4.update(args: {'val': '-mfpu=neon-vfpv4', 'match': '-mfpu=.*'})
|
||||
+ ASIMD.update(args: [
|
||||
+ {'val': '-mfpu=neon-fp-armv8', 'match': '-mfpu=.*'},
|
||||
+ '-march=armv8-a+simd'
|
||||
+ ])
|
||||
+else
|
||||
+ # should disable any prevalent features
|
||||
+ NEON.update(disable: 'not supported by the current platform')
|
||||
+endif
|
||||
+
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/frameworks/35 boost symlinks/boost/include/boost/version.hpp" "numpy-2.1.3/vendored-meson/meson/test cases/frameworks/35 boost symlinks/boost/include/boost/version.hpp"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/frameworks/35 boost symlinks/boost/include/boost/version.hpp" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/frameworks/35 boost symlinks/boost/include/boost/version.hpp" 2024-11-22 23:52:31.849240411 +0100
|
||||
@@ -0,0 +1,3 @@
|
||||
+#define BOOST_VERSION 300
|
||||
+
|
||||
+#error This is not a real version of boost
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/unit/78 user options for subproject/.gitignore" "numpy-2.1.3/vendored-meson/meson/test cases/unit/78 user options for subproject/.gitignore"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/unit/78 user options for subproject/.gitignore" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/unit/78 user options for subproject/.gitignore" 2024-11-22 23:52:31.889240666 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+/subprojects
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/unit/78 user options for subproject/75 user options for subproject/.gitignore" "numpy-2.1.3/vendored-meson/meson/test cases/unit/78 user options for subproject/75 user options for subproject/.gitignore"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/unit/78 user options for subproject/75 user options for subproject/.gitignore" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/unit/78 user options for subproject/75 user options for subproject/.gitignore" 2024-11-22 23:52:31.889240666 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+subprojects/*
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/unit/98 link full name/.gitignore" "numpy-2.1.3/vendored-meson/meson/test cases/unit/98 link full name/.gitignore"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/unit/98 link full name/.gitignore" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/unit/98 link full name/.gitignore" 2024-11-22 23:52:31.892574021 +0100
|
||||
@@ -0,0 +1,5 @@
|
||||
+*.a
|
||||
+*.o
|
||||
+a.out
|
||||
+libtestprovider.a
|
||||
+build
|
||||
diff -uNr "numpy-2.1.3.orig/vendored-meson/meson/test cases/windows/22 msvc library argument order/lib/.gitignore" "numpy-2.1.3/vendored-meson/meson/test cases/windows/22 msvc library argument order/lib/.gitignore"
|
||||
--- "numpy-2.1.3.orig/vendored-meson/meson/test cases/windows/22 msvc library argument order/lib/.gitignore" 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ "numpy-2.1.3/vendored-meson/meson/test cases/windows/22 msvc library argument order/lib/.gitignore" 2024-11-22 23:52:31.902574084 +0100
|
||||
@@ -0,0 +1,2 @@
|
||||
+*.obj
|
||||
+*.lib
|
Reference in New Issue
Block a user