/// <summary>Initializes a new instance of the <see cref="OneDimFractionalFourierTransformation"/> class. /// </summary> /// <param name="alpha">The parameter \alpha of the Fractional Fast Fourier Transformation.</param> /// <param name="oneDimFourierTransformationFactory">The one-dimensional Fourier transformation factory.</param> /// <param name="length">The length, i.e. the number of (complex) Fourier coefficients.</param> internal OneDimFractionalFourierTransformation(int length, Complex alpha, IOneDimFourierTransformationFactory oneDimFourierTransformationFactory) { if (length <= 0) { throw new ArgumentException(String.Format(ExceptionMessages.ArgumentOutOfRangeGreater, "Length <" + length + ">", 0)); } m_Length = length; m_ForwardPreFactor = new Complex[length]; m_BackwardPreFactor = new Complex[length]; int n = 2 * length; m_FourierTransformation = oneDimFourierTransformationFactory.Create(n); m_ForwardTransformedVectorZ = new Complex[n]; m_BackwardTransformedVectorZ = new Complex[n]; SetParameterAlpha(alpha); }
/// <summary>Initializes a new instance of the <see cref="OneDimFourierTransformationFactory"/> class. /// </summary> /// <param name="fourierTransformationFactory">The (Fast) Fourier Transformation factory.</param> internal OneDimFourierTransformationFactory(IOneDimFourierTransformationFactory fourierTransformationFactory) { Real = new RealFactory(fourierTransformationFactory); m_Factory = fourierTransformationFactory; }
/// <summary>Initializes a new instance of the <see cref="RealFactory"/> class. /// </summary> /// <param name="fourierTransformationFactory">The (Fast) Fourier Transformation factory.</param> internal RealFactory(IOneDimFourierTransformationFactory fourierTransformationFactory) { m_Factory = fourierTransformationFactory; }
/// <summary>Initializes a new instance of the <see cref="MklFFTNativeWrapper" /> class. /// </summary> public MklFFTNativeWrapper() { m_Name = new IdentifierString("MKL"); m_OneDimensionalFactory = new MklOneDimFourierTransformationFactory(); }
/// <summary>Initializes a new instance of the <see cref="FftwNativeWrapper" /> class. /// </summary> public FftwNativeWrapper() { m_Name = new IdentifierString("FFTW 3.3.x"); m_OneDimensionalFactory = new FftwOneDimFourierTransformationFactory(); }