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); } } }
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); } }
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); }