| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
MAINT: remove redundant open() modes and io.open() alias
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Not new things, but in touched lines...
|
| |
|
|
|
|
|
|
|
|
| |
In some cases, the replacement is clearly not what is intended,
in those (where setup was called explicitly), I mostly renamed
`setup` to `_setup`.
The `test_ccompile_opt` is a bit confusing, so left it right now
(this will probably fail)
|
|
|
|
|
|
|
|
| |
Pytest silence these normally anyway (capturing it to print it only on failure),
but occasionally I run with `-s` and I don't think this output adds anything unless
using printing to debug a specific test.
If nobody else cares about it nvm, just close it :). Otherwise this cleans up everything
in the fast tests, except the f2py compilation right now.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The normal behavior is to erase any flag that starts with
`-m[a-z0-9\-\.]` when flag `-march` or `-mcpu` specified. for example:
cc_normalize_flags([
'-msse', '-msse2', '-msse3', '-mssse3', '-march=core-avx2'
])
should be normalized to: ['-march=core-avx2']
but in the case of `s390x`, on GCC flag `-march=arch[0-9]` doesn't implies flag
`-mzvector` which is required to enable zvector api. for example:
cc_normalize_flags([
'-mzvector', '-march=arch11', '-march=arch12', '-march=arch13']
)
should be normalized to: ['-mzvector', '-march=arch13']
instead of: ['-march=arch13']
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Don't pass /arch:SSE2 to MSVC link targeting x64
* Fix test
* Fix format
* Fix one more test
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix test_ccompiler_opt not to be confused by dots occurring on the path
to the temporary directory, by using only the source file's basename
when grabbing options. Otherwise, the test can fail with mismatches
such as:
E AssertionError: 'sources_status' returns different targets than the compiled targets
E ['AVX512F', 'AVX2'] != ['(20 2/TEMP/TMPB0YHSCAI/TEST_TARGETS AVX512F)', '(20 2/TEMP/TMPB0YHSCAI/TEST_TARGETS AVX2)']
This is because our TMPDIR value includes numpy version, i.e. 1.20.2.
The splitting happens on the first dot that is part of the directory
path rather than test filename.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* BUG: don't mutate list of fake libraries while iterating over it
* BUG: iterate over copy of list
* TST: add build test for build_ext fix (#1)
* TST: add build test for build_ext fix
* TST: clearer test name
* STY: use triple quotes instead of lists of strings
* FIX: check for f77 compiler before test is run
* DOC: add comment explaining that a list copy is necessary
|
|
|
|
|
|
|
|
| |
CI once produced a tempfile name with the string 'mkl' embedded. The
old code changed this as well as the section name. This should ensure
only section names get changed, and the restriction on the number of
replacements should catch any weird corner cases, since I think the
sections came first.
|
|
|
|
| |
Co-authored-by: h-vetinari <h.vetinari@gmx.com>
|
|
|
|
|
|
| |
Relevant for when LAPACK/BLAS optimization is disabled.
Addresses https://github.com/numpy/numpy/pull/17346#issuecomment-694744389.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BLD: enabled negation of library choices in NPY_*_ORDER
When users build for a particular order it may be beneficial
to disallow certain libraries.
In particular a user may not care about which accelerated
BLAS library is used, so long as the NetLIB or ATLAS library isn't used.
This is now possible with:
NPY_BLAS_ORDER='^blas,atlas'
or
NPY_BLAS_ORDER='!blas,atlas'
Since we may envision more BLAS/LAPACK libraries to the pool, this
will provide greater flexibility as they enter.
A new (local) method is added in system_info.py which removes duplicate
code and allows for easier usage across libraries.
|
|
|
|
|
|
| |
Also fix assertion error msg of group/extra_checks
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
|
|
|
|
|
|
|
|
| |
- Extending Distutils::CompilerOpt to allow adding extra separate test cases
related to a certain CPU feature without affecting its availability.
- Add test cases for reduce intrinsics and AVX512BW mask operations, they can be
reached through C #defentions NPY_HAVE_AVX512BW_MASK and NPY_HAVE_AVX512F_REDUCE.
|
|
|
|
| |
Add testing unit for `CCompilerOpt`
|
| |
|
|
|
|
|
|
| |
* MAINT: use list-based APIs to call subprocesses
* TST, MAINT: add a test for mingw32ccompiler.build_import, clean up lib2def
Co-authored-by: Matti Picus <matti.picus@gmail.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
|
|
|
|
|
|
|
| |
* Cleanup unused imports (F401) of mostly standard Python modules,
or some internal but unlikely referenced modules
* Where internal imports are potentially used, mark with noqa
* Avoid redefinition of imports (F811)
|
|\
| |
| | |
DOC: document site.cfg.example
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
MAINT: only add --std=c99 where needed
|
| | |
|
|/
|
|
|
|
|
| |
Inheriting from object was necessary for Python 2 compatibility to use
new-style classes. In Python 3, this is unnecessary as there are no
old-style classes.
Dropping the object is more idiomatic Python.
|
|
|
|
|
| |
As numpy is Python 3 only, these import statements are now unnecessary
and don't alter runtime behavior.
|
|
|
| |
This flag is only legal for C compilers
|
|
|
|
|
|
| |
This is a follow-up to gh-7427. This can lead to hard to understand
build failures, and we've warned that this change was coming for two
releases.
|
|
|
| |
* BLD: use libraries as a key consistently in all site.cfg sections
|
| |
|
|\
| |
| | |
BUG: parse shell escaping in extra_compile_args and extra_link_args
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Thanks to a change in exec_command, these strings are no longer passed onto the shell.
Since config files do not support list values, our best bet is to perform shell-splitting immediately.
This brings the behavior back in line a little to how it was before.
On windows systems, the behavior has changed. Previously it was treated as a single argument unless it contained quotes, resulting in the following weird behavior:
# passes as one argument, preserving spaces
extra_link_args=-Wl,rpath=A:/path/with spaces
# passes as two arguments, preserving spaces
extra_link_args="-Wl,rpath=A:\path\with spaces" -lgfortran
# passes as one long quoted argument (surprising and undesirable)
extra_link_args=-Wl,rpath=A:\path\without_spaces -lgfortran
Now it behaves as windows escaping via subprocess (but _not_ via cmd) normally would:
# Passed as two separate arguments (probably not as intended, but should be expected)
extra_link_args=-Wl,rpath=A:/path/with spaces
# passes as two arguments, preserving spaces
extra_link_args="-Wl,rpath=A:\path\with spaces" -lgfortran
# passes as two arguments
extra_link_args=-Wl,rpath=A:\path\without_spaces -lgfortran
Fixes gh-12659
|
|\ \
| |/
| | |
BUG: Changes to string-to-shell parsing behavior broke paths with quotes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are places in distutils where we accept a single string from the user, and interpret it as a set of command line arguments.
Previously, these were passed on as a string unmodified to exec_command, and interpreted by subprocess in a platform-specific way.
Recent changes to distutils now pass a list of arguments to subprocess, meaning we have to split the strings ourselves.
While `shlex.split` is perfect on posix systems, it is not a good approximation of either the old or the expected behavior on windows.
Provides the building blocks needed to fix gh-12979
|
| | |
|
| |
| |
| |
| | |
See gh-7427
|
|/
|
|
|
|
|
|
|
|
|
|
| |
(#12448)
* Review F401,F841,F842 flake8 errors (unused variables, imports)
* Review comments
* More tests in test_installed_npymath_ini
* Review comments
|
| |
|
| |
|
| |
|