## org.das2.math.fft.jnt.ComplexFloatFFT

Abstract Class representing FFT's of complex, single precision data. Concrete classes are typically named ComplexFloatFFT_method, implement the FFT using some particular method.

Complex data is represented by 2 double values in sequence: the real and imaginary parts. Thus, in the default case (i0=0, stride=2), N data points is represented by a double array dimensioned to 2*N. To support 2D (and higher) transforms, an offset, i0 (where the first element starts) and stride (the distance from the real part of one value, to the next: at least 2 for complex values) can be supplied. The physical layout in the array data, of the mathematical data d[i] is as follows:

        Re(d[i]) = data[i0 + stride*i]
        Im(d[i]) = data[i0 + stride*i+1]

The transformed data is returned in the original data array in wrap-around order.

## ComplexFloatFFT( int n )

Create an FFT for transforming n points of Complex, single precision data.

## backtransform

backtransform( org.das2.math.fft.ComplexArray.Float data ) → void

Compute the (unnomalized) inverse FFT of data, leaving it in place.

### Parameters

data - a ComplexArray.Float

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## backtransform

backtransform( org.das2.math.fft.ComplexArray.Float data, int i0, int stride ) → void

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]

### Parameters

data - a ComplexArray.Float
i0 - an int
stride - an int

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## getInstance

getInstance( int n ) → org.das2.math.fft.jnt.ComplexFloatFFT

Creates an instance of a subclass of ComplexFloatFFT appropriate for data of n elements.

### Parameters

n - an int

### Returns:

org.das2.math.fft.jnt.ComplexFloatFFT
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## inverse

inverse( org.das2.math.fft.ComplexArray.Float data ) → void

Compute the (nomalized) inverse FFT of data, leaving it in place.

### Parameters

data - a ComplexArray.Float

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## inverse

inverse( org.das2.math.fft.ComplexArray.Float data, int i0, int stride ) → void

Compute the (nomalized) 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]

### Parameters

data - a ComplexArray.Float
i0 - an int
stride - an int

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## normalization

normalization( ) → float

Return the normalization factor. Multiply the elements of the backtransform'ed data to get the normalized inverse.

### Returns:

float
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## transform

transform( org.das2.math.fft.ComplexArray.Float data ) → void

Compute the Fast Fourier Transform of data leaving the result in data. The array data must be dimensioned (at least) 2*n, consisting of alternating real and imaginary parts.

### Parameters

data - a ComplexArray.Float

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## transform

transform( org.das2.math.fft.ComplexArray.Float data, int i0, int stride ) → void

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]

### Parameters

data - a ComplexArray.Float
i0 - an int
stride - an int

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]