This library is by Patrick Stein.
The array can be any number of dimensions, but each dimension must be a power-of-two in size.
Download ASDF package from http://nklein.com/wp-content/uploads/2009/10/fft_1.3.2009.10.13.tar.gz
Here is a simple example on a two-dimensional input buffer.
(require :asdf) (asdf:operate 'asdf:load-op 'fft)(defparameter *buf* #2A((1 2 3 4)(5 6 7 8)))
(let ((transformed (fft:fft *buf*))) (fft:ifft transformed))
Here is an example using the a parallelized version that uses pcall which, in turn, uses Bordeaux-Threads:
(require :asdf) (asdf:operate 'asdf:load-op 'pfft)(defparameter *buf* #2A((1 2 3 4)(5 6 7 8)))
(let ((transformed (pfft:pfft *buf*))) (pfft:pifft transformed))
For a more complete description, see the home page.
Unfortunately, I messed up by capitalizing the page name here on the Cliki. As such, to install it with ASDF-Install, you need to do this:
(asdf-install:install '|FFT|)
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively