xtensor-fftw
xtensor-fftw copied to clipboard
FFTW bindings for the xtensor C++14 multi-dimensional array library
I don't know if it makes sense and if it's easy to achieve it, but it would be nice to not have to evaluate the xarrays for a call of...
The simple numpy-style interface (#6) will by default hide some of FFTW's features, opting for simplicity and default settings for decent performance. We will also implement a high performance interface...
We use template specializations to make sure we get the correct precision. The problem, for instance, with a non-template `f(const xt::xarray &input)` is that it will also compile when you...
A cling Jupyter notebook showing interactive usage. Something with an image, something with filtering, maybe something with audio. Maybe there are numpy.fft notebooks that we could draw inspiration from as...
Follow some good suggestions from https://youtu.be/bsXLMQ6WgIk. - "Use `add_library` for installation of header only libraries", which xtensor-fftw is (xtensor itself as well). - Set `CXX_CLANG_TIDY=ON` by default.
Use e.g. [licecap](https://www.cockos.com/licecap/). Put it on Twitter and maybe on the documentation page under Interactive examples.
As in https://github.com/QuantStack/xtensor-io/blob/a57e3b90ca1025a180c5813c56b8a344ec2d8165/include/xtensor-io/xaudio.hpp#L20-L21, we can put the library loading step in the headers themselves, which saves cling/notebook users from doing it.
Real FFTs on arrays where the last number in the shape is an odd number require special care. In particular: an inverse rFFT cannot automatically determine whether the output should...
Data arrays in FFTW must be in row major format (http://www.fftw.org/fftw3_doc/Row_002dmajor-Format.html). Currently, xtensor-fftw defines output arrays as row major, but it does not check for row major-ness on the input...
The default behavior for inverse real FFT functions (*c2r*) in FFTW is to destroy the input arrays during the calculation. This is probably very unexpected for most users. We should...