On 3/06/2013 7:39 AM, Mathias Gaunard wrote:
It's a pure computation function; the interface should just be a couple of functions taking pointers.
That would be a very naive and pedestrian approach. Factors ranging from the input type (real, complex, integer), dimensionality of the data, the way the data is stored, the precision required, application of the transform (lets think about multiplications for Strassen), phase rotation et al. And that's all before we realize that hey FFTs are really just a subset of transforms in general such as Wavelets and Co. So what we should be heading for is not another CRC library (which should really be part of a generalized message digest library), but rather a well thought-out and designed interface that is extensible with provisions for future support of multiple backends (fftw, ipp, cuda, opencl et al) and types (float, double, mp, et al) - and not just the first meta idea that easily scales in our minds. ;) In short - A couple functions with a few pointers would fall dismally short of the 'mark'.