Core constants (cl-fftw/core
package):
+forward+
Designates a forward Fourier transform
+backward+
Designates an inverse Fourier transform
Management of plans. Here and below you can choose cl-fftw/double
and/or
cl-fftw/single
package:
create-fft-plan
(dimensions sign)
Create a plan for FFT transform (complex input). Sign is
+forward+
(-1) for forward transform and +backward
(+1) for
inverse transform. The plan must be destroyed later with
destroy-plan
.create-rfft-plan
(dimensions)
Create a plan for the real-input forward FFT transform (RFFT). The
plan must be destroyed later with
destroy-plan
.create-irfft-plan
(dimensions)
Create a plan for the real-input inverse FFT transform (IRFFT). The
plan must be destroyed later with
destroy-plan
.destroy-plan
(plan)
Destroy a FFT/RFFT/IRFFT plan.
with-plan
((plan constructor dimensions &optional sign) &body body)
Create an FFT plan with
constructor
and make sure it is destroyed
when control leaves body
.Basic FFT functions:
fft
(plan array)
Perform FFT transform.
array
's and plan
's dimensions must
be the same.rfft
(plan array)
Perform RFFT transform.
array
's and plan
's dimensions must
be the same.irfft
(plan array)
Perform IRFFT transform.
array
's and plan
's dimensions must
be compatible."Fast" FFT functions (no plan creation required):
%fft
(array sign)
Perform FFT transform. This is a version of FFT without previously
created plan.
%rfft
(array)
Perform RFFT transform. This is a version of RFFT without
previously created plan.
%irfft
(array dimensions)
Perform IRFFT transform. This is a version of IRFFT without
previously created plan.
dimensions
is a list of dimensions of the
result.