math.fourierTransforms.interleaved
Class ComplexFloatFFT_Mixed

java.lang.Object
  extended by math.fourierTransforms.interleaved.ComplexFloatFFT
      extended by math.fourierTransforms.interleaved.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.

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.

Constructor Summary
ComplexFloatFFT_Mixed(int n)
           
 
Method Summary
 void backtransform(float[] data, int i0, int stride)
          Compute the (unnomalized) inverse FFT of data, leaving it in place.
static void main(java.lang.String[] args)
           
static void print(float[] f)
           
 void transform(float[] data, int i0, int stride)
          Compute the Fast Fourier Transform of data leaving the result in data.
 
Methods inherited from class math.fourierTransforms.interleaved.ComplexFloatFFT
backtransform, complexToReal, getInstance, getInterleavedData, inverse, inverse, normalization, toWraparoundOrder, toWraparoundOrder, transform
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComplexFloatFFT_Mixed

public ComplexFloatFFT_Mixed(int n)
Method Detail

main

public static void main(java.lang.String[] args)

print

public static void print(float[] f)

transform

public void transform(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(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