patch: FFT refactored
Stefan Seefeld
stefan at codesourcery.com
Tue Mar 7 04:14:15 UTC 2006
Please find attached a patch containing a first step towards a refactored
FFT implementation. This patch factors out different backend into their
respective implementation (and subdirectory, for simpler maintenance).
Once finished, different backends can be enabled via configure at the same
time, and a compile-/runtime-dispatcher will instantiate the appropriate
backend for a given FFT(M) object.
Here is a short list of the new files:
src/vsip/impl/fft.hpp : Contains the new public Fft(m) API.
src/vsip/impl/fft/backend.hpp : Contains the backend interface definition.
src/vsip/impl/fft/factory.hpp : Contains the generic backend factory bits.
src/vsip/impl/fft/util.hpp : Contains some utility templates.
src/vsip/impl/fft/workspace.hpp : Contains the code responsible for temporary buffers.
src/vsip/impl/fftw3/ : Directory containing the fftw3 bridge (eventually).
src/vsip/impl/ipp/ : Directory containing IPP glue code (eventually).
src/vsip/impl/sal/ : Directory containing SAL glue code (eventually).
The SAL binding is complete as far as the fft.cpp and fftm.cpp tests are
concerned (these new bindings directly support split complex transforms).
However, a number of stubs are still empty, or even wrong. To fill / fix
them I would prefer to start by writing more tests to get better coverage
of all the supported parameters (non-square matrixes, notably, as well as
subviews where strides differ from sizes), before moving forward.
This new code is mostly independent of existing files, i.e. it can coexist
and even be tested with minimal changes to the existing sources / build system.
Thanks,
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fft.patch
Type: text/x-patch
Size: 116685 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20060306/24f5d6ff/attachment.bin>
More information about the vsipl++
mailing list