Click or drag to resize

Pfa235FFT Class

Generalized prime factor complex fast Fourier transform and backtransform in one, two, and three dimensions (d = 1,2,3). Each dimension must be of the form n = (2**p) * (3**q) * (5**r). The complex d-dimensional data can be either given in a vector of double precision complex numbers or in two seperate vectors of doubles for the real and imaginary parts respectively, or in single precision, either in a vector of complex or in two seperate vectors of float. A leading dimension different from the first data dimension can be specified - this can prevent memory-bank conflicts and therefore dramatically improves performance on vector machines with interleaved memory. The Fourier transform is always perfored inplace. The data array can be stored either in column (Fortran convention) or row (C convention) order. This makes about 40 different combinations (float - double, dimension, order, complex - real) which can be easily accessed by a simple class definition:
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.FourierPfa235FFT
    Altaxo.Calc.FourierPfa235Convolution

Namespace: Altaxo.Calc.Fourier
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3572.0 (4.8.3572.0)
Syntax
C#
public class Pfa235FFT

The Pfa235FFT type exposes the following members.

Constructors
 NameDescription
Public methodPfa235FFT uninitialized setup
Public methodPfa235FFT(Int32) 1-dimensional setup
Public methodPfa235FFT(Pfa235FFT) Copy-Constructor
Public methodPfa235FFT(Int32, Int32) 2-dimensional setup
Public methodPfa235FFT(Int32, Int32, Int32) 3-dimensional setup
Top
Methods
 NameDescription
Public methodStatic memberCanFactorized Test if the number n can be factorized into powers of 2, 3 and 5.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodStatic memberFactorize Factorize the number into powers of 2, 3, and 5
Public methodFFT Performs an in-place complex forward or inverse FFT using separate real and imaginary arrays.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodRealFFT Performs two one-dimensional real FFTs by packing them into a single complex transform.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Protected fielddim Stores the configured transform dimensions.
Protected fieldid Stores the leading dimension, the configured number of dimensions, and the size of the trigonometric lookup table.
Protected fieldndim Stores the leading dimension, the configured number of dimensions, and the size of the trigonometric lookup table.
Protected fieldrow_order Gets or sets a value indicating whether the transformed data is stored in row-major order.
Protected fieldtrigs Stores the precomputed trigonometric lookup values used by the transform.
Protected fieldtrindex Stores the starting indices of the trigonometric tables for each dimension.
Protected fieldtrisize Stores the leading dimension, the configured number of dimensions, and the size of the trigonometric lookup table.
Top
See Also