org.das2.math.fft.jnt
Class ComplexFloatFFT_Mixed

java.lang.Object
  extended by org.das2.math.fft.jnt.ComplexFloatFFT
      extended by org.das2.math.fft.jnt.ComplexFloatFFT_Mixed

public class ComplexFloatFFT_Mixed
extends ComplexFloatFFT

Computes FFT's of complex, single 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 ComplexFloatFFT for details of data layout.


Constructor Summary
ComplexFloatFFT_Mixed(int n)
           
 
Method Summary
 void backtransform(ComplexArray.Float data, int i0, int stride)
          Compute the (unnomalized) inverse FFT of data, leaving it in place.
 void transform(ComplexArray.Float data, int i0, int stride)
          Compute the Fast Fourier Transform of data leaving the result in data.
 
Methods inherited from class org.das2.math.fft.jnt.ComplexFloatFFT
backtransform, checkData, getInstance, inverse, inverse, normalization, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComplexFloatFFT_Mixed

public ComplexFloatFFT_Mixed(int n)
Method Detail

transform

public void transform(ComplexArray.Float data,
                      int i0,
                      int stride)
Description copied from class: ComplexFloatFFT
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 ComplexFloatFFT

backtransform

public void backtransform(ComplexArray.Float data,
                          int i0,
                          int stride)
Description copied from class: ComplexFloatFFT
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 ComplexFloatFFT