| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
User- and non-user-facing typos.
Some source typos fixes as well.
Found via `codespell`.
|
|
|
|
|
| |
That function is nose specific and has not worked since `__init__` files
were added to the tests directories.
|
|
|
|
|
|
|
|
| |
Numpy can now be tested using the standard
`python -c"import numpy; numpy.test()"`
construct.
|
|
|
|
|
|
|
|
|
|
|
| |
Use standard pytest markers everywhere in the numpy tests. At this point
there should be no nose dependency. However, nose is required to test
the legacy decorators if so desired.
At this point, numpy test cannot be run in the way with runtests, rather
installed numpy can be tested with `pytest --pyargs numpy` as long as
that is not run from the repo. Run it from the tools directory or some
such.
|
|
|
|
|
| |
The "bench" testing with the old bench files is no longer supported.
These days we use `runtests.py` and `asv`.
|
|
|
| |
Found via `codespell -q 3 -I ../numpy-whitelist.txt`
|
| |
|
| |
|
|
|
|
|
|
| |
Regression tests for bug discussed in pull request #10676.
Lines matching the multiline or f2py enhancement pattern should not be
split by ';'.
|
|
|
|
|
|
| |
The variable line was assigned to before checking whether it
contains a multiline or f2py enhancement pattern. In these cases
the line should not be split by ';'. See pull request #10676.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* BUG: improve parsing of quoted control characters in numpy.f2py.
See #10634. Fixes a couple of cases where quoted control
characters are parsed as if they are unquoted. The control
characters considered are "()!;".
* TST: quoted characters parsing by numpy.f2py.
Basic test of parsing quoted Fortran control characters. See #10634.
* BUG: add missing space character when reconstructing fortran line.
The missing space caused a line starting with "!f2py" to be considered
a continuation line.
|
|
|
|
|
|
|
|
| |
F2py generates code that uses PyTuple_SetItem on a tuple that has been
"used", which is invalid on Pypy.
Add #ifdefs that make the generated code convert the object to a list,
use PyList_SetItem, and then convert it back to a tuple.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found via `codespell -q 3 -I ../numpy-whitelist.txt`
Whitelist consists of:
```
amin
ans
behaviour
cancellation
dum
initialise
ith
nd
ot
splitted
writeable
```
.
|
|\
| |
| | |
MAINT: Use a StructSequence in place of the typeinfo tuples
|
| | |
|
| |
| |
| |
| | |
This makes the contents of `typeinfo` look liked namedtuples
|
|/ |
|
|
|
|
| |
See #10027.
|
|
|
|
|
|
|
|
|
|
|
| |
When NPY_CHAR was deprecated and replaced by NPY_STRING in f2py, calls
to PyArray_New that previously relied on the type to get the itemsize
needed the size explicitly specified, but that modification was missed
in some of the code. Because the strings that replacee the 'c' type are
always 'S1', we use an itemsize of 1 for the string types and pass it
explicitly.
Closes #10027.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WRITEBACKIFCOPY (#9639)
* ENH: add API to resolve UPDATEONCOPY outside dealloc, test and use
* BUG: Fix usage of keyword "from" as argument name for "can_cast".
Also removed inconsistency between the second argument name
between documentation ("totype") and code ("to").
* UPDATEIFCOPY -> WRITEBACKIFCOPY, documentation
* fixes for review
* review2, fix new test
* fix new test for using self.assert_deprecated
* change deprecation logic as per review
* new logic exposed places where PyArray_ResolveWritebackIfCopy not called
* deprecate PyArray_XDECREF_ERR in favor of PyArray_DiscardWritebackIfCopy
* code review changes
* clean up merge cruft
* fix from review
* fixes from review
* extend the release note
|
|\
| |
| | |
ENH: enable OpenBLAS on windows.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
1. fail tests related to DLL load failure as they were previously untested.
2. fix have_compiler to return false on old compilers
3. xfail some tests that were not working on old Python versions.
|
| |
| |
| |
| | |
because svn is not used anymore
|
| |
| |
| |
| |
| |
| |
| |
| | |
and use gmtime in order to be independent of timezone
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Up until now, f2py throw an error when arrays were declared which had
dimension of length 0. This, however, is a perfectly legal case, and in
fact occurs frequently in the context of linear algrebra. This bug was
discovered, for example, in an interface that does matrix
tridiagonalization. If the matrix is 1x1, the super- and subdiagonal are
of length 0.
Note that negative dimensions continue to produce errors although
Fortran also allows this (it always allocates to size max(0, n)).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In f2py/src/fortranobject.c, the function `check_and_fix_dimensions` does
pretty much what it says on the tin:
/*
This function fills in blanks (that are -1\'s) in dims list using
the dimensions from arr. It also checks that non-blank dims will
match with the corresponding values in arr dimensions.
*/
There are several error conditions detected by the function. In the code
before this change, when the function detected such an error, it would
print a message to stderr and return 1.
In this change, when an error is detected in `check_and_fix_dimensions`,
an exception is set.
This new feature of `check_and_fix_dimensions` is used in three places
in the function `array_from_pyobj()`.
In each case, there was an old comment of the form:
/* XXX: set exception */
In this change, the exception is now set in `check_and_fix_dimensions()`,
so those comments have been removed.
For some error conditions, the new code changes the exception that is
raised. For example, here's a scipy test before this change:
```
In [5]: from scipy.linalg import _fblas as fblas
In [6]: a = np.array([[1., 0.], [0., -2.], [2., 3.]])
In [7]: b = np.array([[0., 1.], [1., 0.], [0, 1.]])
In [8]: fblas.dsyr2k(a=a, b=b, alpha=1.0, c=np.zeros((15, 8)))
0-th dimension must be fixed to 3 but got 15
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-8-bc4d51f8d016> in <module>()
----> 1 f(a=a, b=b, alpha=1.0, c=np.zeros((15, 8)))
error: failed in converting 2nd keyword `c' of _fblas.dsyr2k to C/Fortran array
```
After this change, we get:
```
In [2]: from scipy.linalg import _fblas as fblas
In [3]: a = np.array([[1., 0.], [0., -2.], [2., 3.]])
In [4]: b = np.array([[0., 1.], [1., 0.], [0, 1.]])
In [5]: fblas.dsyr2k(a=a, b=b, alpha=1.0, c=np.zeros((15, 8)))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-6-bc4d51f8d016> in <module>()
----> 1 f(a=a, b=b, alpha=1.0, c=np.zeros((15, 8)))
ValueError: 0-th dimension must be fixed to 3 but got 15
```
The spurious print has been changed to the exception message, but some
potentially useful information in the old exception message has been
lost.
|
|
|
|
|
|
|
|
| |
This allows pytest to run with duplicate test file names. Note that
`python <path-to-test-file>` no longer works with this change, nor will
a simple `pytest numpy`, because numpy is imported from the numpy
repository. However, `python runtests.py` and `>>> numpy.test()` are
still available.
|
|\
| |
| | |
MAINT: Use new-style classes on 2.7
|
| |
| |
| |
| | |
Deliberately avoids tests, to prevent introducing a failure on old-style classes later.
|
|\ \
| |/
|/| |
Remove unittest dependencies
|
| | |
|
|/
|
|
|
| |
Using \t here is just cryptic.
Done using a very basic find and replace.
|
| |
|
|\
| |
| | |
ENH: Rearrange testing module to isolate nose dependency.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The aim here is to separate out the nose dependent files prior to adding
pytest support. This could be done by adding new files to the general
numpy/testing directory, but I felt that it was to have the relevant
files separated out as it makes it easier to completely remove nose
dependencies when needed.
Many places were accessing submodules in numpy/testing directly, and in
some cases incorrectly. That presented a backwards compatibility
problem. The solution adapted here is to have "dummy" files whose
contents will depend on whether of not pytest is active. That way the
module looks the same as before from the outside.
In the case of numpy itself, direct accesses have been fixed. Having
proper `__all__` lists in the submodules helped in that.
|
|/
|
|
|
|
|
| |
When building the __doc__ string for Fortran objects, the ')'
character, closing the dimensions list, is written 1 position
beyond the allowed buffer size, instead of the current pointer in
the buffer.
|
|
|
|
|
|
|
| |
* make exception raising 2/3 compatible
* remove unnecesary else statement after while loop without break clause
* ensure file is always enclosed even in the event of an exception
* ensure list comprehension variable does not override enclosing loop variable
|
| |
|
|
|
|
|
|
|
| |
A missing call to rmbadname1 in analyzecommon caused a look up of
common block variables with a name in the badnames list to fail
and the fall back of defaultimplicitrules to be used.
See ticket 9228.
|
|
|
|
| |
Bare except is very rarely the right thing
|
| |
|