Implements the Fast Fourier Transform for transformation of one-dimensional real or complex data sets. For reference, see
Applied Numerical Linear Algebra, ISBN 0898713897, chapter 6.
There are several variants of the discrete Fourier transform, with various normalization conventions, which are specified by the parameter {@link DftNormalization}.
The current implementation of the discrete Fourier transform as a fast Fourier transform requires the length of the data set to be a power of 2. This greatly simplifies and speeds up the code. Users can pad the data with zeros to meet this requirement. There are other flavors of FFT, for reference, see S. Winograd, On computing the discrete Fourier transform, Mathematics of Computation, 32 (1978), 175 - 199.
@see DftNormalization
@since 1.2