Accord.Math.SineTransform.IDST C# (CSharp) Method

IDST() public static method

Inverse Discrete Sine Transform.
public static IDST ( double data ) : void
data double
return void
        public static void IDST(double[] data)
        {
            double[] result = new double[data.Length];

            double inverse = 2.0 / (data.Length + 1);

            for (int k = 1; k < result.Length + 1; k++)
            {
                double sum = 0;
                for (int i = 1; i < data.Length + 1; i++)
                    sum += data[i - 1] * Math.Sin(Math.PI * ((k * i) / (data.Length + 1.0)));
                result[k - 1] = sum * inverse;
            }

            for (int i = 0; i < data.Length; i++)
                data[i] = result[i];
        }
SineTransform