18 for(
int ivc = 0; ivc <
NVC; ++ivc){
23 for(
int ic = 0; ic <
NC; ++ic){
25 for(
int ic2 = 0; ic2 <
NC; ++ic2){
26 ut[2*ic2 ] = u[
IDX2_G_R(ic2, ic, ist)];
27 ut[2*ic2+1] = u[
IDX2_G_I(ic2, ic, ist)];
30 wt1[0] =
MULT_UV_R(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
32 wt1[1] =
MULT_UV_I(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
34 wt2[0] =
MULT_UV_R(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
36 wt2[1] =
MULT_UV_I(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
39 v2L[2*ic +
ID1] += wt1[0];
40 v2L[2*ic+1 +
ID1] += wt1[1];
41 v2L[2*ic +
ID2] += wt2[0];
42 v2L[2*ic+1 +
ID2] += wt2[1];
43 v2L[2*ic +
ID3] += wt2[1];
44 v2L[2*ic+1 +
ID3] += -wt2[0];
45 v2L[2*ic +
ID4] += wt1[1];
46 v2L[2*ic+1 +
ID4] += -wt1[0];
57 for(
int ic = 0; ic <
NC; ++ic){
64 v2L[2*ic +
ID1] += wt1[0];
65 v2L[2*ic+1 +
ID1] += wt1[1];
66 v2L[2*ic +
ID2] += wt2[0];
67 v2L[2*ic+1 +
ID2] += wt2[1];
68 v2L[2*ic +
ID3] += -wt2[1];
69 v2L[2*ic+1 +
ID3] += wt2[0];
70 v2L[2*ic +
ID4] += -wt1[1];
71 v2L[2*ic+1 +
ID4] += wt1[0];
82 int ixzt =
ix + Nx * (
iz + Nz *
it);
83 int istu = ist + Nst_pad;
88 for(
int ivc = 0; ivc <
NVC; ++ivc){
89 vt1[ivc] = buf_yp[
IDXBF(ivc, 0, ixzt)];
90 vt2[ivc] = buf_yp[
IDXBF(ivc, 1, ixzt)];
93 for(
int ic = 0; ic <
NC; ++ic){
94 for(
int ic2 = 0; ic2 <
NC; ++ic2){
95 ut[2*ic2 ] = u[
IDX2_G_R(ic2, ic, istu)];
96 ut[2*ic2+1] = u[
IDX2_G_I(ic2, ic, istu)];
98 wt1[0] =
MULT_UV_R(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
100 wt1[1] =
MULT_UV_I(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
102 wt2[0] =
MULT_UV_R(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
104 wt2[1] =
MULT_UV_I(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
107 v2L[ic*2 +
ID1] += wt1[0];
108 v2L[ic*2+1 +
ID1] += wt1[1];
109 v2L[ic*2 +
ID2] += wt2[0];
110 v2L[ic*2+1 +
ID2] += wt2[1];
111 v2L[ic*2 +
ID3] += -wt2[0];
112 v2L[ic*2+1 +
ID3] += -wt2[1];
113 v2L[ic*2 +
ID4] += wt1[0];
114 v2L[ic*2+1 +
ID4] += wt1[1];
120 int ixzt =
ix + Nx * (
iz + Nz *
it);
124 for(
int ic = 0; ic <
NC; ++ic){
129 v2L[ic*2 +
ID1] += wt1[0];
130 v2L[ic*2+1 +
ID1] += wt1[1];
131 v2L[ic*2 +
ID2] += wt2[0];
132 v2L[ic*2+1 +
ID2] += wt2[1];
133 v2L[ic*2 +
ID3] += wt2[0];
134 v2L[ic*2+1 +
ID3] += wt2[1];
135 v2L[ic*2 +
ID4] += -wt1[0];
136 v2L[ic*2+1 +
ID4] += -wt1[1];
147 int ixyt =
ix + Nx * (
iy + Ny *
it);
148 int istu = ist + Nst_pad * 2;
151 for(
int ivc = 0; ivc <
NVC; ++ivc){
152 vt1[ivc] = buf_zp[
IDXBF(ivc, 0, ixyt)];
153 vt2[ivc] = buf_zp[
IDXBF(ivc, 1, ixyt)];
156 for(
int ic = 0; ic <
NC; ++ic){
158 for(
int ic2 = 0; ic2 <
NC; ++ic2){
159 ut[2*ic2 ] = u[
IDX2_G_R(ic2, ic, istu)];
160 ut[2*ic2+1] = u[
IDX2_G_I(ic2, ic, istu)];
162 wt1[0] =
MULT_UV_R(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
164 wt1[1] =
MULT_UV_I(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
166 wt2[0] =
MULT_UV_R(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
168 wt2[1] =
MULT_UV_I(ut[0], ut[1], ut[2], ut[3], ut[4], ut[5],
171 v2L[ic*2 +
ID1] += wt1[0];
172 v2L[ic*2+1 +
ID1] += wt1[1];
173 v2L[ic*2 +
ID2] += wt2[0];
174 v2L[ic*2+1 +
ID2] += wt2[1];
175 v2L[ic*2 +
ID3] += wt1[1];
176 v2L[ic*2+1 +
ID3] += -wt1[0];
177 v2L[ic*2 +
ID4] += -wt2[1];
178 v2L[ic*2+1 +
ID4] += wt2[0];
184 int ixyt =
ix + Nx * (
iy + Ny *
it);
186 for(
int ic = 0; ic <
NC; ++ic){
192 v2L[ic*2 +
ID1] += wt1[0];
193 v2L[ic*2+1 +
ID1] += wt1[1];
194 v2L[ic*2 +
ID2] += wt2[0];
195 v2L[ic*2+1 +
ID2] += wt2[1];
196 v2L[ic*2 +
ID3] += -wt1[1];
197 v2L[ic*2+1 +
ID3] += wt1[0];
198 v2L[ic*2 +
ID4] += wt2[1];
199 v2L[ic*2+1 +
ID4] += -wt2[0];