#define X 32768 #define K 256 struct kValues { float Kx; float Ky; float Kz; float PhiMag; }; extern float sin(float); extern float cos(float); void mriFH_cpu(float *rPhi,float *rRho,float *iRho, float *iPhi, float *rD, float *iD, float *kx, float *ky, float *kz, float *dx, float *dy, float *dz, float *rFHref, float *iFHref) { float rfh; float ifh; float exp; float cArg; float sArg; //float rRho[K]; //float iRho[K]; unsigned int k; unsigned int x; for (x = 0; x < X; ++x) { for (k = 0; k < K; ++k) { exp = 2 * 3.14159 * (kx[k]* dx[x] + ky[k]* dy[x] + kz[k]* dz[x]); cArg = cos(exp); sArg = sin(exp); rFHref[x] += rRho[k]* cArg - iRho[k]* sArg; iFHref[x] += iRho[k]*cArg + rRho[k]*sArg; } } }