OK sthen@
On 2024/01/09 22:38, Theo Buehler wrote:
> On Tue, Jan 09, 2024 at 09:46:01PM +0100, Theo Buehler wrote:
> > On Tue, Jan 09, 2024 at 09:42:30PM +0100, Theo Buehler wrote:
> > > With the below diff regress on aarch64 passes. It only changes things
> > > there and maybe on arm, so there is no new round of testing needed.
> > >
> > > 119 failed, 33819 passed, 220 skipped, 1308 deselected, 31 xfailed, 4
> > > xpassed, 461 warnings in 737.96s (0:12:17)
> > >
> > > This is a bit worse than 1.24 which had
> > >
> > > 32 failed, 25330 passed, 225 skipped, 1306 deselected, 33 xfailed, 4
> > > xpassed, 100 warnings in 365.47s (0:06:05)
> > >
> > > The breakage came from this PR switching numpy 1.25 to use SIMD
> > > for isnan, isfinite, etc: https://github.com/numpy/numpy/pull/22165
> > >
> > > It would result in out-of-bounds heap reads which would sometimes crash
> > > after hitting a guard page. Fortunately, the linalg test would do this
> > > quite reliably. I managed to narrow the issue down to a specific
> > > instruction and then it was easy to find very recent upstream fixes.
> > >
> > > It causes at least one new failure in the linalg test, but I'm not going
> > > to debug this.
> >
> > I forgot to attach the full test.log for posterity and to say
>
> The third time is the charm. I had a copy paste error which would
> result in using lane 1 instead of lane 0 in the first load.
>
> 51 failures come from a new floatingpoints errors casting test
> where we don't emit exceptions, so this is about as good as 1.24.
>
> 80 failed, 33858 passed, 220 skipped, 1308 deselected, 31 xfailed, 4 xpassed,
> 461 warnings in 390.34s (0:06:30)
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/math/py-numpy/Makefile,v
> diff -u -p -r1.77 Makefile
> --- Makefile 16 Jan 2023 12:13:03 -0000 1.77
> +++ Makefile 9 Jan 2024 20:12:07 -0000
> @@ -1,6 +1,6 @@
> COMMENT= fast array and numeric programming library for Python
>
> -MODPY_EGG_VERSION= 1.24.1
> +MODPY_EGG_VERSION= 1.25.2
> DISTNAME= numpy-${MODPY_EGG_VERSION}
> PKGNAME= py-${DISTNAME}
>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/math/py-numpy/distinfo,v
> diff -u -p -r1.19 distinfo
> --- distinfo 16 Jan 2023 12:13:03 -0000 1.19
> +++ distinfo 8 Jan 2024 16:36:42 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (numpy-1.24.1.tar.gz) = I4bamkccwAofR4ReJ9kW1exTRq6WluAaijR2CFj+ndI=
> -SIZE (numpy-1.24.1.tar.gz) = 10903184
> +SHA256 (numpy-1.25.2.tar.gz) = /WCOGcjXxVAh3/1Dv+VJL6uMwQXMiYb4E/jDwEizh2A=
> +SIZE (numpy-1.25.2.tar.gz) = 10805282
> Index: patches/patch-numpy_core_setup_common_py
> ===================================================================
> RCS file: /cvs/ports/math/py-numpy/patches/patch-numpy_core_setup_common_py,v
> diff -u -p -r1.6 patch-numpy_core_setup_common_py
> --- patches/patch-numpy_core_setup_common_py 16 Jan 2023 12:13:03 -0000
> 1.6
> +++ patches/patch-numpy_core_setup_common_py 9 Jan 2024 00:49:36 -0000
> @@ -5,7 +5,7 @@ with unresolved symbols.
> Index: numpy/core/setup_common.py
> --- numpy/core/setup_common.py.orig
> +++ numpy/core/setup_common.py
> -@@ -137,7 +137,7 @@ MANDATORY_FUNCS = [
> +@@ -147,7 +147,7 @@ MANDATORY_FUNCS = [
>
> OPTIONAL_LOCALE_FUNCS = ["strtold_l"]
> OPTIONAL_FILE_FUNCS = ["ftello", "fseeko", "fallocate"]
> Index: patches/patch-numpy_core_src_common_simd_neon_memory_h
> ===================================================================
> RCS file: patches/patch-numpy_core_src_common_simd_neon_memory_h
> diff -N patches/patch-numpy_core_src_common_simd_neon_memory_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-numpy_core_src_common_simd_neon_memory_h 9 Jan 2024
> 21:14:01 -0000
> @@ -0,0 +1,36 @@
> +Fix various crashes on arm64
> +
> +https://github.com/numpy/numpy/commit/eaeb6f7854e2e9acec466df02e5adcf80d3d671f
> +https://github.com/numpy/numpy/commit/e6422e3ab21730558d7d9aaee19e52f1fcd6358d
> +
> +Index: numpy/core/src/common/simd/neon/memory.h
> +--- numpy/core/src/common/simd/neon/memory.h.orig
> ++++ numpy/core/src/common/simd/neon/memory.h
> +@@ -52,21 +52,12 @@ NPYV_IMPL_NEON_MEM(f64, double)
> + ***************************/
> + NPY_FINLINE npyv_s32 npyv_loadn_s32(const npy_int32 *ptr, npy_intp stride)
> + {
> +- switch (stride) {
> +- case 2:
> +- return vld2q_s32((const int32_t*)ptr).val[0];
> +- case 3:
> +- return vld3q_s32((const int32_t*)ptr).val[0];
> +- case 4:
> +- return vld4q_s32((const int32_t*)ptr).val[0];
> +- default:;
> +- int32x2_t ax = vcreate_s32(*ptr);
> +- int32x4_t a = vcombine_s32(ax, ax);
> +- a = vld1q_lane_s32((const int32_t*)ptr + stride, a, 1);
> +- a = vld1q_lane_s32((const int32_t*)ptr + stride*2, a, 2);
> +- a = vld1q_lane_s32((const int32_t*)ptr + stride*3, a, 3);
> +- return a;
> +- }
> ++ int32x4_t a = vdupq_n_s32(0);
> ++ a = vld1q_lane_s32((const int32_t*)ptr, a, 0);
> ++ a = vld1q_lane_s32((const int32_t*)ptr + stride, a, 1);
> ++ a = vld1q_lane_s32((const int32_t*)ptr + stride*2, a, 2);
> ++ a = vld1q_lane_s32((const int32_t*)ptr + stride*3, a, 3);
> ++ return a;
> + }
> +
> + NPY_FINLINE npyv_u32 npyv_loadn_u32(const npy_uint32 *ptr, npy_intp stride)
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/math/py-numpy/pkg/PLIST,v
> diff -u -p -r1.19 PLIST
> --- pkg/PLIST 16 Jan 2023 12:13:03 -0000 1.19
> +++ pkg/PLIST 8 Jan 2024 16:36:40 -0000
> @@ -24,7 +24,8 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}conftest.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}ctypeslib.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}dual.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}dtypes.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}matlib.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -51,7 +52,6 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_char_codes.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_dtype_like.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_extended_precision.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_generic_alias.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_nbit.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_nested_sequence.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_scalars.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -63,13 +63,20 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_char_codes.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_dtype_like.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_extended_precision.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_generic_alias.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nbit.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nested_sequence.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_scalars.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_shape.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_ufunc.pyi
> lib/python${MODPY_VERSION}/site-packages/numpy/_typing/setup.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/__init__.py
> +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}/
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}_inspect.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}_pep440.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/_inspect.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/_pep440.py
> lib/python${MODPY_VERSION}/site-packages/numpy/_version.py
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/__init__.py
> @@ -81,6 +88,7 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_data_type_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_dtypes.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_elementwise_functions.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_indexing_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_manipulation_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_searching_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_set_functions.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -96,6 +104,7 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_data_type_functions.py
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_dtypes.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_elementwise_functions.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_indexing_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_manipulation_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_searching_functions.py
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_set_functions.py
> @@ -113,6 +122,8 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_creation_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_data_type_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_elementwise_functions.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_indexing_functions.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_manipulation_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_set_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_sorting_functions.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_validation.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -120,6 +131,8 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_creation_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_data_type_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_elementwise_functions.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_indexing_functions.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_manipulation_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_set_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_sorting_functions.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_validation.py
> @@ -127,12 +140,8 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/__init__.py
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}_inspect.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}_pep440.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}py3k.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/compat/_inspect.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/compat/_pep440.py
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/py3k.py
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/setup.py
> lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/
> @@ -220,8 +229,10 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/.doxyfile
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/__multiarray_api.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/__ufunc_api.h
> +lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_dtype_api.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_neighborhood_iterator_imp.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_numpyconfig.h
> +lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_numpyconfig.h.in
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/arrayobject.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/arrayscalars.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/experimental_dtype_api.h
> @@ -229,7 +240,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/libdivide/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/libdivide/LICENSE.txt
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/libdivide/libdivide.h
> -lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/multiarray_api.txt
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/ndarrayobject.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/ndarraytypes.h
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/noprefix.h
> @@ -248,7 +258,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/random/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/random/bitgen.h
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/random/distributions.h
> -lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/ufunc_api.txt
>
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/ufuncobject.h
> lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/utils.h
> lib/python${MODPY_VERSION}/site-packages/numpy/core/lib/
> @@ -452,6 +461,7 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}exec_command.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}extension.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}from_template.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}fujitsuccompiler.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}intelccompiler.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}lib2def.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}line_endings.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -483,6 +493,7 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_knl.c
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_knm.c
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_skx.c
> +lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_spr.c
>
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512cd.c
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512f.c
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_f16c.c
> @@ -598,6 +609,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/fcompiler/sun.py
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/fcompiler/vast.py
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/from_template.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/distutils/fujitsuccompiler.py
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/intelccompiler.py
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/lib2def.py
> lib/python${MODPY_VERSION}/site-packages/numpy/distutils/line_endings.py
> @@ -657,7 +669,10 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/doc/${MODPY_PYCACHE}ufuncs.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/numpy/doc/constants.py
> lib/python${MODPY_VERSION}/site-packages/numpy/doc/ufuncs.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/dual.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/dtypes.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/dtypes.pyi
> +lib/python${MODPY_VERSION}/site-packages/numpy/exceptions.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/exceptions.pyi
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/__init__.py
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/__init__.pyi
> @@ -758,6 +773,10 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/foo_deps.f90
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh15035.f
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh17859.f
> +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23533.f
> +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23598.f90
> +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23598Warn.f90
> +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23879.f90
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh2848.f90
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/operators.f90
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/privatemod.f90
> @@ -808,6 +827,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/char.f90
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/fixed_string.f90
> +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/scalar_string.f90
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/string.f
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/value_attrspec/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/value_attrspec/gh21665.f90
> @@ -1023,14 +1043,12 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/__init__.pyi
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}bench.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}extras.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}mrecords.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}testutils.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}timer_comparison.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/ma/bench.py
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/core.py
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/core.pyi
> lib/python${MODPY_VERSION}/site-packages/numpy/ma/extras.py
> @@ -1162,6 +1180,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/extending.pyx
>
> lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/extending_distributions.pyx
> +lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/meson.build
>
> lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/setup.py
> lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/numba/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/numba/extending.py
> @@ -1228,37 +1247,27 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/__init__.pyi
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}overrides.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}print_coercion_tables.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/__init__.py
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}decorators.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}extbuild.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}noseclasses.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}nosetester.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}parameterized.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/decorators.py
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/extbuild.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/noseclasses.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/nosetester.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/parameterized.py
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/utils.py
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/utils.pyi
> +lib/python${MODPY_VERSION}/site-packages/numpy/testing/overrides.py
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/print_coercion_tables.py
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/setup.py
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/__init__.py
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}test_doctesting.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}test_utils.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/test_doctesting.py
> lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/test_utils.py
> -lib/python${MODPY_VERSION}/site-packages/numpy/testing/utils.py
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/__init__.py
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}/
> @@ -1267,6 +1276,7 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_ctypeslib.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_lazyloading.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_matlib.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_numpy_config.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_numpy_version.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_public_api.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_reloading.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -1276,6 +1286,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_ctypeslib.py
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_lazyloading.py
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_matlib.py
> +lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_numpy_config.py
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_numpy_version.py
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_public_api.py
> lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_reloading.py
> @@ -1293,7 +1304,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/__init__.py
>
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}/
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_generic_alias.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_isfile.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_runtime.${MODPY_PYC_MAGIC_TAG}pyc
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_typing.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -1435,7 +1445,6 @@ lib/python${MODPY_VERSION}/site-packages
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/data/reveal/version.pyi
>
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi
> -lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_generic_alias.py
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_isfile.py
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_runtime.py
> lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_typing.py
>