/// <summary>Initializes a new instance of the <see cref="OneDimFractionalFourierTransformationRealAlpha"/> 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 OneDimFractionalFourierTransformationRealAlpha(int length, double 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); }