## org.das2.qds.math.fft.jnt.ComplexDoubleFFT

Abstract Class representing FFT's of complex, double precision data. Concrete classes are typically named ComplexDoubleFFT_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.