math.fourierTransforms.interleaved
Class ComplexDoubleFFT_Mixed
java.lang.Object
math.fourierTransforms.interleaved.ComplexDoubleFFT
math.fourierTransforms.interleaved.ComplexDoubleFFT_Mixed
public class ComplexDoubleFFT_Mixed
- extends ComplexDoubleFFT
Computes FFT's of complex, double precision data of arbitrary length n.
This class uses the Mixed Radix method; it has special methods to handle
factors 2, 3, 4, 5, 6 and 7, as well as a general factor.
This method appears to be faster than the Radix2 method, when both methods apply,
but requires extra storage (which ComplexDoubleFFT_Mixed manages itself).
See ComplexDoubleFFT
for details of data layout.
- Author:
- Bruce R. Miller bruce.miller@nist.gov, Contribution of the National Institute of Standards and Technology,, not subject to copyright., Derived from GSL (Gnu Scientific Library), GSL's FFT Code by Brian Gough bjg@vvv.lanl.gov, Since GSL is released under, GPL,, this package must also be.
Method Summary |
void |
backtransform(double[] data,
int i0,
int stride)
Compute the (unnomalized) inverse FFT of data, leaving it in place. |
void |
transform(double[] data,
int i0,
int stride)
Compute the Fast Fourier Transform of data leaving the result in data. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ComplexDoubleFFT_Mixed
public ComplexDoubleFFT_Mixed(int n)
transform
public void transform(double[] data,
int i0,
int stride)
- Description copied from class:
ComplexDoubleFFT
- Compute the Fast Fourier Transform of data leaving the result in data.
The array data must contain the data points in the following locations:
Re(d[i]) = data[i0 + stride*i]
Im(d[i]) = data[i0 + stride*i+1]
- Specified by:
transform
in class ComplexDoubleFFT
backtransform
public void backtransform(double[] data,
int i0,
int stride)
- Description copied from class:
ComplexDoubleFFT
- Compute the (unnomalized) inverse FFT of data, leaving it in place.
The frequency domain data must be in wrap-around order, and be stored
in the following locations:
Re(D[i]) = data[i0 + stride*i]
Im(D[i]) = data[i0 + stride*i+1]
- Specified by:
backtransform
in class ComplexDoubleFFT