-
Notifications
You must be signed in to change notification settings - Fork 7
Description
I'm opening this issue to discuss something I started thinking about when working on #76. I have mixed feelings about ffts of lower dimension than the array. It feels like "autovectorization" which is generally avoided in other parts of Julia's multidimensional code. It would be more in line with the general array code to apply a lower-dimensional fft plan along some dimensions with something like mapslices.
Maybe some of this is imposed by AbstractFFTs, but I'm also now in doubt what this package really gains from using that interface. Some of the promotion methods might be convenient, but it isn't that big of a deal IMO, and it essentially forces the interface of FFTW while also introducing issues like #66. AbstractFFTs doesn't solve the problem of switching backends for downstream packages (although there is ongoing work that might change that), so I'm not sure if depending on AbstractFFTs is a net gain. My main goal with working on this package is to allow e.g. https://github.com/JuliaStats/KernelDensity.jl to work without FFTW, and there might be easier ways to allow for that than making changes to AbstractFFTs.