//----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_ri(HADT d, HCDT re, HCDT im) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); d->Create(nx,ny,nz); #pragma omp parallel for for(long i=0;i<nx*ny*nz;i++) d->a[i] = dual(re->vthr(i),im->vthr(i)); }
//----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_ap(HADT d, HCDT a, HCDT p) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); d->Create(nx,ny,nz); #pragma omp parallel for for(long i=0;i<nx*ny*nz;i++) { register mreal aa=a->vthr(i), pp=p->vthr(i); d->a[i] = dual(aa*cos(pp), aa*sin(pp)); } }