| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
In some cases the documentation examples failed with an
AttributeError because the next method was not there. In a
few other cases it still worked but may be more future-proof
and ideomatic if they used the next function instead of the
next method.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* MAINT: Replace print statements for Python3.
Updates tools/swig/test/testSuperTensor.py.
* MAINT: Fix deprecated escaped characters for python 3.6+.
Update numpy/linalg/lapack_lite/clapack_scrub.py.
|
|
|
|
|
|
|
|
| |
When building NumPy for iOS, you build on macOS, with compiler flags to target iOS or the iOS simulator. However, setup.py runs on macOS, so sys.platform == 'darwin', regardless of the platform being targetted.
distutils provides an environment variable - _PYTHON_HOST_PLATFORM - to indicate when you are building for a different platform. This patches uses that variable to identify cross-platform builds and disable macOS specific features.
The patch also renames an internal method in strfuncs to avoid a collision with a symbol in iOS's standard library, and includes math.h to avoid errors about undefined symbols.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Align type definitions
* Regenerate sources
* Replace BytesIO
* Consolidate executables
* Create directories on PY2
* Revise step name
* Consolidate directory creation
* Don't catch makedirs errors
* Revise step name
* Add header source
|
| |
|
| |
|
|
|
|
|
| |
This takes care of the licenses for the libraries included in the NumPy
repository or bundled in the NumPy source distributions.
|
|
|
|
|
|
| |
Also, update authors of lapack_lite
[ci skip]
|
| |
|
|
|
|
|
| |
These are copied from the libf2c source code, which is presumably where all
the others came from
|
|
|
|
| |
This doesn't yet actually generate the files, since they would cause the diff to balloon
|
|
|
|
|
|
| |
This bug is mentioned, fixed, but not described, in cadbb5f2ec84cb774023bbe8cbe6f39a93e837d7
To be safe, we patch it for the equivalent float32 function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the dlamch function was a manually-edited file, precluding
autogeneration. We fix this by putting the manual edits in a patch file, and
then generating f2c_config.c from install/*.f, which includes dlamch.
While these functions exist in more than once place in lapack 3.0.0, they only
exist in lapack/install in newer versions. A side effect of this is that some
functions have been pulled out of `f2c_blas.c` and `f2c_s_lapack.c` into this
new file.
The edits in the patch were introduced in cadbb5f2ec84cb774023bbe8cbe6f39a93e837d7,
for a reason that is lost to time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also uses this splitting as an excuse to ditch the _lite suffix, in
favor of a f2c_ prefix for all generated files.
Before:
* `zlapack_lite.c` - Functions for the `complex128` type.
* `dlapack_lite.c` - Every other lapack function
After:
* `f2c_z_lapack.c` - Functions for the `complex128` type.
* `f2c_c_lapack.c` - Functions for the `complex64` type.
* `f2c_d_lapack.c` - Functions for the `float64` type.
* `f2c_s_lapack.c` - Functions for the `float32` type.
* `f2c_lapack.c` - Every other lapack function
|
|
|
|
|
| |
Since we can use 2.7+ features now, we can have the with statement and
subprocess.check_call
|
|
|
|
|
| |
These were previously avoided by patching f2c, but this was more work for
little gain, and the patch was not committed.
|
|
|
|
| |
Link was dead, and this project is neither Numeric nor in CVS any more.
This should have gone into #8381
|
|
|
|
| |
These are taken from lapack_litemodule.c and umath_linalg.c.src
|
| |
|
|
|
|
| |
This is also defined in python_xerbla.c, where we redefine a python-compatible version
|
|
|
|
| |
The source used is http://archive.debian.org/debian/pool/main/l/lapack3/lapack3_3.0.20000531a.orig.tar.gz. Originally this was done with a patched f2c, but if the patch isn't provided in the source tree, there's no sensible way to use it
|
| |
|
|
|
|
| |
This now runs correctly on python 2, whereas before it did not run at all
|
| |
|
|
|
|
| |
This gives exactly the same output as before
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Closes gh-6863.
|
|
|
|
| |
Allows changing the error message at some point.
|
|
|
|
|
|
|
| |
Some symbols are not defined leading to:
ImportError Undefined symbol: PyGILState_Release
Closes gh-3255
|
|
|
|
|
|
|
| |
Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long
and will need to be broken at some point. OTOH, some lines were already
too long and need to be broken at some point. Now seems as good a time
as any to do this with open PRs at a minimum.
|
|
|
|
| |
Now is as good a time as any with open PR's at a low.
|
|
|
| |
PyOS_snprintf is portable and more secure than snprintf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idioms fixer makes the following replacements.
1) int <- bool
2) comparison or identity of types <- isinstance
3) a.sort() <- sorted(a)
There were two problems that needed to be dealt with after the
application of the fixer. First, the replacement of comparison or
identity of types by isinstance was not always correct. The isinstance
function returns true for subtypes whereas many of the places where the
fixer made a substitution needed to check for exact type equality.
Second, the sorted function was applied to arrays, but because it treats
them as iterators and constructs a sorted list from the result, that is
the wrong thing to do.
Closes #3062.
|
|\
| |
| | |
Add generalized ufunc linalg functions and make numpy.linalg use them
|
| |
| |
| |
| |
| | |
With the new ufunc-based linalg, GIL is released in ufuncs, and needs to
be reacquired when raising errors in xerbla_.
|
| |
| |
| |
| | |
Also, link umath_linalg against the system BLAS/LAPACK if available.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next builtin has been available since Python 2.6 and allows
`it.next()` to be replaced by `next(it)`. In Python 3 the `next` method
is gone entirely, replaced entirely by the `__next__` method. The next
fixer changes all the `it.next()` calls to the new form and renames the
`next` methods to `__next__`. In order to keep Numpy code backwards
compatible with Python 2, a `next` method was readded to all the Numpy
iterators after the fixer was run so they all contain both methods. The
presence of the appropriate method could have been made version
dependent, but that looked unduly complicated.
Closes #3072.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Python3 `dict.items()`, `dict.keys()`, and `dict.values()` are
iterators. This causes problems when a list is needed so the 2to3 fixer
explicitly constructs a list when is finds on of those functions.
However, that is usually not necessary, so a lot of the work here has
been cleaning up those places where the fix is not needed. The big
exception to that is the `numpy/f2py/crackfortran.py` file. The code
there makes extensive use of loops that modify the contents of the
dictionary being looped through, which raises an error. That together
with the obscurity of the code in that file made it safest to let the
`dict` fixer do its worst.
Closes #3050.
|
|
|
|
|
|
|
| |
Add `print_function` to all `from __future__ import ...` statements
and use the python3 print function syntax everywhere.
Closes #3078.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `imports` fixer deals with the standard packages that have been
renamed, removed, or methods that have moved.
cPickle -- removed, use pickle
commands -- removed, getoutput, getstatusoutput moved to subprocess
urlparse -- removed, urlparse moved to urllib.parse
cStringIO -- removed, use StringIO or io.StringIO
copy_reg -- renamed copyreg
_winreg -- renamed winreg
ConfigParser -- renamed configparser
__builtin__ -- renamed builtins
In the case of `cPickle`, it is imported as `pickle` when python < 3 and
performance may be a consideration, but otherwise plain old `pickle` is
used.
Dealing with `StringIO` is a bit tricky. There is an `io.StringIO`
function in the `io` module, available since Python 2.6, but it expects
unicode whereas `StringIO.StringIO` expects ascii. The Python 3
equivalent is then `io.BytesIO`. What I have done here is used BytesIO
for anything that is emulating a file for testing purposes. That is more
explicit than using a redefined StringIO as was done before we dropped
support for Python 2.4 and 2.5.
Closes #3180.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new import `absolute_import` is added the `from __future__ import`
statement and The 2to3 `import` fixer is run to make the imports
compatible. There are several things that need to be dealt with to make
this work.
1) Files meant to be run as scripts run in a different environment than
files imported as part of a package, and so changes to those files need
to be skipped. The affected script files are:
* all setup.py files
* numpy/core/code_generators/generate_umath.py
* numpy/core/code_generators/generate_numpy_api.py
* numpy/core/code_generators/generate_ufunc_api.py
2) Some imported modules are not available as they are created during
the build process and consequently 2to3 is unable to handle them
correctly. Files that import those modules need a bit of extra work.
The affected files are:
* core/__init__.py,
* core/numeric.py,
* core/_internal.py,
* core/arrayprint.py,
* core/fromnumeric.py,
* numpy/__init__.py,
* lib/npyio.py,
* lib/function_base.py,
* fft/fftpack.py,
* random/__init__.py
Closes #3172
|
|
|
|
|
|
|
|
| |
This should be harmless, as we already are division clean. However,
placement of this import takes some care. In the future a script
can be used to append new features without worry, at least until
such time as it exceeds a single line. Having that ability will
make it easier to deal with absolute imports and printing updates.
|
| |
|
| |
|