dsimcha Wrote: > I'm going to need an FFT library to perform some convolutions at some point > soon. Two absolute, non-negotiable requirements are that it be written in > pure D and that it be Boost or compatibly (i.e. zlib or public domain) > licensed. I also prefer "simple and good enough" over "has every > micro-optimization in the book but a PITA to maintain/modify/use", as long as > it's at least a true fft as opposed to an O(N^2) DFT. A few questions: > > 1. Does anyone already have such a lib? > > 2. If noone has one I'll probably either write my own from scratch or port > some code from C if I can find code that's under a suitable license and > written with a "simple and good enough" philosophy rather than an "every tiny > optimization in the book" philosophy. Could anyone recommend one to port? >
You should have a look at kissfft. It is very small (one short c file), appropriately licensed and supports arbitrary sizes quite efficiently. I have recently ported this to the go programming language in just a few hours work. I'm willing to help with a D version too, if you want, as I might also need this soon. kissfft can be found at: http://kissfft.sourceforge.net J