func FFT_aux(this, xr, RowTemp *Matrix.Matrix, N, skip int, tf *[]complex128) { if N == 1 { xr.SetRow(1, this.GetReferenceRow(1)) return } FFT_aux(this, xr, RowTemp, N/2, skip*2, tf) FFT_aux(this.MatrixWithoutFirstRows(skip), xr.MatrixWithoutFirstRows(N/2), RowTemp, N/2, skip*2, tf) for k := 0; k < N/2; k++ { xr.ScalarRowIntoRowMatrix(RowTemp, k+1+N/2, (*tf)[k*skip]) sr, rr, _ := Matrix.Sum_Sustract(xr.GetReferenceRow(k+1), RowTemp) xr.SetRow(k+1, sr) xr.SetRow(k+1+N/2, rr) } }