Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
MAINT: Stop using non-tuple indices internally
|
|
Previously, the numerical constants in the FFT code were not provided at full double precision which led to a loss of accuracy in the FFT operation. Additionally
this commit improves the accuracy of the twiddle factor calculation by reducing the argument of exp(2j*pi*m/n) to the first octant before calling the library
function. On average the commit lowers the remaining numerical error in the FFT by a factor of ten.
|
|
By not using this type of indexing, it becomes easier for subclasses to override indexing in a way that works correctly with numpy functions.
These locations were found by deprecating the behavior in question, which is deliberately not part of this commit
|
|
(#10073)
See the PR for benchmarking information
|
|
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.
|
|
|
|
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.
|
|
Performed using the following regex, replacing with $0:$1. Some manual cleanup
was then required.
^[a-z]+_(\w+)(?:(?!\}).*\n)+.*PyArg_ParseTuple(AndKeywords)?\(args[^"]+"[^:"]+(?=")
|
|
|
|
|
|
closes #8444
|
|
Corrections to #7492.
Correct the examples in the notes specifying the output length for the
hfft. Also clean up the documentation a bit.
[ci skip]
|
|
|
|
There is now a lock around cache accesses ensuring thread safety. The
size of a cache entry is now also calculated by summing over all arrays
in the list.
|
|
Replaces the simple dictionary caches for the twiddle factors of
numpy.fft to bounded LRU (least recently used) caches. The caches can
thus no longer grow without bounds.
See #7686.
|
|
|
|
Closes #6693
|
|
|
|
The relationship between frequency and position in the input array
is clarified.
|
|
|
|
Numpy will no longer support the bento build system, so remove the
associated files.
|
|
Not sure why the error was still in the docs.
|
|
|
|
|
|
|
|
|
|
|
|
This is because of the inclusion of numpy/ndarraytypes.h in b3121e8.
|
|
|
|
PyErr_NoMemory when PyArray_Zeros fails to initialize
|
|
|
|
Resolves issue #565.
The public fft functions defined in fftpack.c have name conflicts on certain
systems, so the prefix "npy_" was added to these functions.
Added NPY_VISIBILITY_HIDDEN to the public functions in both fftpack.h and
fftpack.c. This required rearranging the includes at the beginning of
fftpack_litemodule.c so that this macro was properly defined. In addition,
Python.h and numpy/ndarraytypes.h were included in the fftpack.h.
One function, rfftb1, was flagged as `static` as it was not exported in the
header.
Build and tests pass using both Python 2.7.8 and Python 3.4.2.
|
|
MAINT: fft: cleanup in fftpack module
|
|
* put string constants in const arrays
* use static functions were possible
* removed a stale comment
* more consistent whitespace
|
|
TST: join fft threads before getting values
|
|
avoids timeouts on slow machines
|
|
|
|
BUG: fix crash when sending interrupt signal to fft functions
|
|
Fixes issue #4736
The example showed a call to np.fft.fft instead of np.fft.fft2.
|
|
tests should not use more than 500 MB of memory, this one uses more than
a GB. Also it didn't join its threads.
|
|
the SIGINT handling code must be in the GIL released section so the
longjmp does not skip the retaking.
This implies that the signal handlers must use thread local storage to
avoid a crash when sending interrupt to threaded fft functions.
Distribution of SIGINT to each threads must be handled by the
application as only the master thread receives it
Closes gh-4634
|
|
|
|
|
|
|
|
|
|
|
|
On Python 2.7, the long type was excluded.
|
|
|
|
|