
On Mar 30, 2021, at 20:01, Eduardo Quintana via Boost <boost@lists.boost.org> wrote:
Though some work it is already done and it only needs polishing.
I went through the excercise of choosing a FFT implementation for C++ a few weeks ago. Your project as it is on github, already carries with it five or more dependencies ( + tbb ? ): • Boost • FFTW • google/benchmark • alglib • meson For myself that is too much, so I could not even try your library. Q1) Do you plan to get rid of external dependencies other than FFTW? I ended up using FFTW++ which was painless enough. It is written by pros (meaning: mathematicians published the algorithms in a peer-reviewed paper) and manages the nitty-gritty of FFTW for you. There is nothing to learn, basically, three liner usage: auto f=array2<complex<double>>(w,h,size_t align=64); fft2d Forward2d=fft2d(w,h,1,f,f); // SETUP THE TRANSFORM FOR USE AND REUSE Forward2d.fft(f, f); Q2) What do plan offering that exceeds FFTW++ capability? In you file fft-2d.cpp, presumably the example use, it is vector<complex<double>> FA; FFT_dim<2>(FA.begin(), FA.end(), N, e); This applies your own templated naive implementations of FFT. However, FFTW does not wrap into this API ! You are using the plain old C interface for FFTW. Q3) Is it really within your capabilities to implement the dispatch mechanisms necessary to wrap FFTW into such an API as that one template, FFT_dim<2>? So three question, Q1,Q2,Q3. Thanks! Kostas =============== Institute of Nuclear and Particle Physics NCSR Demokritos http://inspirehep.net/author/profile/K.G.Savvidy.1 https://github.com/kotika/random https://mixmax.hepforge.org