Browse Source

FFT-Managed: fix real coonjugate-even impl in odd-N cases

benchmark-la
Christoph Ruegg 10 years ago
parent
commit
5bdc17afa3
  1. 10
      src/Numerics/Providers/FourierTransform/ManagedFourierTransformProvider.cs

10
src/Numerics/Providers/FourierTransform/ManagedFourierTransformProvider.cs

@ -115,6 +115,11 @@ namespace MathNet.Numerics.Providers.FourierTransform
samples[n] = data[data.Length/2].Real;
samples[n+1] = 0d;
}
else
{
samples[n-1] = data[data.Length / 2].Real;
samples[n] = data[data.Length / 2].Imaginary;
}
}
public void BackwardReal(double[] spectrum, int n, FourierTransformScaling scaling)
@ -132,6 +137,11 @@ namespace MathNet.Numerics.Providers.FourierTransform
{
data[data.Length/2] = new Complex(spectrum[n], 0d);
}
else
{
data[data.Length/2] = new Complex(spectrum[n-1], spectrum[n]);
data[data.Length/2 + 1] = data[data.Length/2].Conjugate();
}
Backward(data, scaling);

Loading…
Cancel
Save