예제 #1
0
 private void PopulateForFftDistributedAlongX(int nxLength, GreenTensor.Component q, int ySym)
 {
     for (int i = 0; i < nxLength; i++)
     {
         for (int j = 1; j < _ny; j++)
         {
             PopulateGreenAlongY(q.Ptr, ySym, i, j, _ny2 - j);
         }
     }
 }
예제 #2
0
        private void PopulateForFft(GreenTensor.Component q, int xSym, int ySym)
        {
            for (int i = 1; i < _nx; i++)
            {
                for (int j = 1; j < _ny; j++)
                {
                    PopulateGreen(q.Ptr, xSym, ySym, i, j);
                }
            }

            for (int i = 1; i < _nx; i++)
            {
                PopulateGreenAlongX(q.Ptr, xSym, i, _nx2 - i);
            }

            for (int j = 1; j < _ny; j++)
            {
                PopulateGreenAlongY(q.Ptr, ySym, j, _ny2 - j);
            }
        }
예제 #3
0
 private void FillGreen(Complex[] buff, GreenTensor.Component ca, int sign, long shift, int step)
 {
     fixed(Complex *q = &buff[0])
     UNM.Zaxpy(buff.Length, sign, q, ca.Ptr + shift, step);
 }