Go to the documentation of this file.
9 #ifndef BRIDGEACC_DOMAINWALL_INCLUDED
10 #define BRIDGEACC_DOMAINWALL_INCLUDED
18 double *RESTRICT vp,
double *RESTRICT yp,
double *RESTRICT wp,
19 double mq,
double M0,
int Ns,
double *b,
double *c,
double alpha,
23 double *RESTRICT vp,
double *RESTRICT yp,
double *RESTRICT wp,
24 double mq,
double M0,
int Ns,
double *b,
double *c,
double alpha,
28 double *RESTRICT vp,
double *RESTRICT wp,
int Ns,
int *Nsize);
31 double *RESTRICT vp,
double *RESTRICT wp,
int Ns,
int *Nsize);
34 double *RESTRICT vp,
double *RESTRICT wp,
int Ns,
int *Nsize);
37 double *RESTRICT vp,
double *RESTRICT up,
double *RESTRICT wp,
38 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int flag);
41 double *RESTRICT vp,
double *RESTRICT up,
double *RESTRICT wp,
42 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int flag);
45 double *RESTRICT buf1_xp,
double *RESTRICT buf1_xm,
46 double *RESTRICT buf1_yp,
double *RESTRICT buf1_ym,
47 double *RESTRICT buf1_zp,
double *RESTRICT buf1_zm,
48 double *RESTRICT buf1_tp,
double *RESTRICT buf1_tm,
49 double *RESTRICT up,
double *RESTRICT wp,
50 int Ns,
int *bc,
int *Nsize,
int *do_comm);
53 double *RESTRICT vp,
double *RESTRICT up,
double *RESTRICT wp,
54 double *RESTRICT buf2_xp,
double *RESTRICT buf2_xm,
55 double *RESTRICT buf2_yp,
double *RESTRICT buf2_ym,
56 double *RESTRICT buf2_zp,
double *RESTRICT buf2_zm,
57 double *RESTRICT buf2_tp,
double *RESTRICT buf2_tm,
58 int Ns,
int *bc,
int *Nsize,
int *do_comm);
61 double *RESTRICT vp,
double *RESTRICT wp,
62 double mq,
double M0,
int Ns,
double *b,
double *c,
double alpha,
66 double *RESTRICT yp,
double *RESTRICT wp,
67 double mq,
double M0,
int Ns,
double *b,
double *c,
double alpha,
71 double *RESTRICT vp,
double *RESTRICT wp,
72 double mq,
double M0,
int Ns,
double *b,
double *c,
double alpha,
76 double *RESTRICT vp,
double *RESTRICT yp,
77 double mq,
double M0,
int Ns,
double *b,
double *c,
double alpha,
81 double *RESTRICT vp,
double *RESTRICT up,
double *RESTRICT wp,
82 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo,
86 double *RESTRICT vp,
double *RESTRICT up,
double *RESTRICT wp,
87 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo,
91 double *RESTRICT buf1_xp,
double *RESTRICT buf1_xm,
92 double *RESTRICT buf1_yp,
double *RESTRICT buf1_ym,
93 double *RESTRICT buf1_zp,
double *RESTRICT buf1_zm,
94 double *RESTRICT buf1_tp,
double *RESTRICT buf1_tm,
95 double *RESTRICT up,
double *RESTRICT wp,
96 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo,
100 double *RESTRICT vp,
double *RESTRICT up,
double *RESTRICT wp,
101 double *RESTRICT buf2_xp,
double *RESTRICT buf2_xm,
102 double *RESTRICT buf2_yp,
double *RESTRICT buf2_ym,
103 double *RESTRICT buf2_zp,
double *RESTRICT buf2_zm,
104 double *RESTRICT buf2_tp,
double *RESTRICT buf2_tm,
105 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo);
108 double *RESTRICT vp,
double *RESTRICT up,
110 int Ns,
int *bc,
int *Nsize,
111 int *do_comm,
int flag);
114 double *RESTRICT vp,
double *RESTRICT up,
116 int Ns,
int *bc,
int *Nsize,
117 int *do_comm,
int flag);
120 double *RESTRICT vp,
double *RESTRICT up,
122 int Ns,
int *bc,
int *Nsize,
123 int *do_comm,
int flag);
126 double *RESTRICT vp,
double *RESTRICT up,
128 int Ns,
int *bc,
int *Nsize,
129 int *do_comm,
int flag);
132 double *RESTRICT vp,
double *RESTRICT up,
134 int Ns,
int *bc,
int *Nsize,
135 int *do_comm,
int flag);
138 double *RESTRICT vp,
double *RESTRICT up,
140 int Ns,
int *bc,
int *Nsize,
141 int *do_comm,
int flag);
144 double *RESTRICT vp,
double *RESTRICT up,
146 int Ns,
int *bc,
int *Nsize,
147 int *do_comm,
int flag);
150 double *RESTRICT vp,
double *RESTRICT up,
152 int Ns,
int *bc,
int *Nsize,
153 int *do_comm,
int flag);
156 double *RESTRICT buf,
double *RESTRICT up,
158 int Ns,
int *bc,
int *Nsize);
161 double *RESTRICT buf,
double *RESTRICT up,
163 int Ns,
int *bc,
int *Nsize);
166 double *RESTRICT buf,
double *RESTRICT up,
168 int Ns,
int *bc,
int *Nsize);
171 double *RESTRICT buf,
double *RESTRICT up,
173 int Ns,
int *bc,
int *Nsize);
176 double *RESTRICT buf,
double *RESTRICT up,
178 int Ns,
int *bc,
int *Nsize);
181 double *RESTRICT buf,
double *RESTRICT up,
183 int Ns,
int *bc,
int *Nsize);
186 double *RESTRICT buf,
double *RESTRICT up,
188 int Ns,
int *bc,
int *Nsize);
191 double *RESTRICT buf,
double *RESTRICT up,
193 int Ns,
int *bc,
int *Nsize);
196 double *RESTRICT vp,
double *RESTRICT up,
197 double *RESTRICT buf,
198 int Ns,
int *bc,
int *Nsize);
201 double *RESTRICT vp,
double *RESTRICT up,
202 double *RESTRICT buf,
203 int Ns,
int *bc,
int *Nsize);
206 double *RESTRICT vp,
double *RESTRICT up,
207 double *RESTRICT buf,
208 int Ns,
int *bc,
int *Nsize);
211 double *RESTRICT vp,
double *RESTRICT up,
212 double *RESTRICT buf,
213 int Ns,
int *bc,
int *Nsize);
216 double *RESTRICT vp,
double *RESTRICT up,
217 double *RESTRICT buf,
218 int Ns,
int *bc,
int *Nsize);
221 double *RESTRICT vp,
double *RESTRICT up,
222 double *RESTRICT buf,
223 int Ns,
int *bc,
int *Nsize);
226 double *RESTRICT vp,
double *RESTRICT up,
227 double *RESTRICT buf,
228 int Ns,
int *bc,
int *Nsize);
231 double *RESTRICT vp,
double *RESTRICT up,
232 double *RESTRICT buf,
233 int Ns,
int *bc,
int *Nsize);
236 double *RESTRICT vp,
double *RESTRICT wp,
238 int Ns,
double *RESTRICT mat_inv,
int *Nsize);
241 double *RESTRICT vp,
double *RESTRICT wp,
243 int Ns,
double *RESTRICT mat_inv,
int *Nsize);
246 double *RESTRICT vp,
double *RESTRICT wp,
247 int Ns,
int *Nsize,
double *e,
double *f,
248 double *dpinv,
double *dm,
double alpha);
251 double *RESTRICT vp,
double *RESTRICT wp,
252 int Ns,
int *Nsize,
double *e,
double *f,
253 double *dpinv,
double *dm,
double alpha);
258 float *RESTRICT vp,
float *RESTRICT yp,
float *RESTRICT wp,
259 float mq,
float M0,
int Ns,
float *b,
float *c,
float alpha,
263 float *RESTRICT vp,
float *RESTRICT yp,
float *RESTRICT wp,
264 float mq,
float M0,
int Ns,
float *b,
float *c,
float alpha,
268 float *RESTRICT vp,
float *RESTRICT wp,
int Ns,
int *Nsize);
271 float *RESTRICT vp,
float *RESTRICT wp,
int Ns,
int *Nsize);
274 float *RESTRICT vp,
float *RESTRICT wp,
int Ns,
int *Nsize);
277 float *RESTRICT vp,
float *RESTRICT up,
float *RESTRICT wp,
278 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int flag);
281 float *RESTRICT vp,
float *RESTRICT up,
float *RESTRICT wp,
282 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int flag);
285 float *RESTRICT buf1_xp,
float *RESTRICT buf1_xm,
286 float *RESTRICT buf1_yp,
float *RESTRICT buf1_ym,
287 float *RESTRICT buf1_zp,
float *RESTRICT buf1_zm,
288 float *RESTRICT buf1_tp,
float *RESTRICT buf1_tm,
289 float *RESTRICT up,
float *RESTRICT wp,
290 int Ns,
int *bc,
int *Nsize,
int *do_comm);
293 float *RESTRICT vp,
float *RESTRICT up,
float *RESTRICT wp,
294 float *RESTRICT buf2_xp,
float *RESTRICT buf2_xm,
295 float *RESTRICT buf2_yp,
float *RESTRICT buf2_ym,
296 float *RESTRICT buf2_zp,
float *RESTRICT buf2_zm,
297 float *RESTRICT buf2_tp,
float *RESTRICT buf2_tm,
298 int Ns,
int *bc,
int *Nsize,
int *do_comm);
301 float *RESTRICT vp,
float *RESTRICT wp,
302 float mq,
float M0,
int Ns,
float *b,
float *c,
float alpha,
306 float *RESTRICT yp,
float *RESTRICT wp,
307 float mq,
float M0,
int Ns,
float *b,
float *c,
float alpha,
311 float *RESTRICT vp,
float *RESTRICT wp,
312 float mq,
float M0,
int Ns,
float *b,
float *c,
float alpha,
316 float *RESTRICT vp,
float *RESTRICT yp,
317 float mq,
float M0,
int Ns,
float *b,
float *c,
float alpha,
321 float *RESTRICT vp,
float *RESTRICT up,
float *RESTRICT wp,
322 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo,
326 float *RESTRICT vp,
float *RESTRICT up,
float *RESTRICT wp,
327 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo,
331 float *RESTRICT buf1_xp,
float *RESTRICT buf1_xm,
332 float *RESTRICT buf1_yp,
float *RESTRICT buf1_ym,
333 float *RESTRICT buf1_zp,
float *RESTRICT buf1_zm,
334 float *RESTRICT buf1_tp,
float *RESTRICT buf1_tm,
335 float *RESTRICT up,
float *RESTRICT wp,
336 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo,
340 float *RESTRICT vp,
float *RESTRICT up,
float *RESTRICT wp,
341 float *RESTRICT buf2_xp,
float *RESTRICT buf2_xm,
342 float *RESTRICT buf2_yp,
float *RESTRICT buf2_ym,
343 float *RESTRICT buf2_zp,
float *RESTRICT buf2_zm,
344 float *RESTRICT buf2_tp,
float *RESTRICT buf2_tm,
345 int Ns,
int *bc,
int *Nsize,
int *do_comm,
int ieo,
int jeo);
348 float *RESTRICT vp,
float *RESTRICT up,
350 int Ns,
int *bc,
int *Nsize,
351 int *do_comm,
int flag);
354 float *RESTRICT vp,
float *RESTRICT up,
356 int Ns,
int *bc,
int *Nsize,
357 int *do_comm,
int flag);
360 float *RESTRICT vp,
float *RESTRICT up,
362 int Ns,
int *bc,
int *Nsize,
363 int *do_comm,
int flag);
366 float *RESTRICT vp,
float *RESTRICT up,
368 int Ns,
int *bc,
int *Nsize,
369 int *do_comm,
int flag);
372 float *RESTRICT vp,
float *RESTRICT up,
374 int Ns,
int *bc,
int *Nsize,
375 int *do_comm,
int flag);
378 float *RESTRICT vp,
float *RESTRICT up,
380 int Ns,
int *bc,
int *Nsize,
381 int *do_comm,
int flag);
384 float *RESTRICT vp,
float *RESTRICT up,
386 int Ns,
int *bc,
int *Nsize,
387 int *do_comm,
int flag);
390 float *RESTRICT vp,
float *RESTRICT up,
392 int Ns,
int *bc,
int *Nsize,
393 int *do_comm,
int flag);
396 float *RESTRICT buf,
float *RESTRICT up,
398 int Ns,
int *bc,
int *Nsize);
401 float *RESTRICT buf,
float *RESTRICT up,
403 int Ns,
int *bc,
int *Nsize);
406 float *RESTRICT buf,
float *RESTRICT up,
408 int Ns,
int *bc,
int *Nsize);
411 float *RESTRICT buf,
float *RESTRICT up,
413 int Ns,
int *bc,
int *Nsize);
416 float *RESTRICT buf,
float *RESTRICT up,
418 int Ns,
int *bc,
int *Nsize);
421 float *RESTRICT buf,
float *RESTRICT up,
423 int Ns,
int *bc,
int *Nsize);
426 float *RESTRICT buf,
float *RESTRICT up,
428 int Ns,
int *bc,
int *Nsize);
431 float *RESTRICT buf,
float *RESTRICT up,
433 int Ns,
int *bc,
int *Nsize);
436 float *RESTRICT vp,
float *RESTRICT up,
438 int Ns,
int *bc,
int *Nsize);
441 float *RESTRICT vp,
float *RESTRICT up,
443 int Ns,
int *bc,
int *Nsize);
446 float *RESTRICT vp,
float *RESTRICT up,
448 int Ns,
int *bc,
int *Nsize);
451 float *RESTRICT vp,
float *RESTRICT up,
453 int Ns,
int *bc,
int *Nsize);
456 float *RESTRICT vp,
float *RESTRICT up,
458 int Ns,
int *bc,
int *Nsize);
461 float *RESTRICT vp,
float *RESTRICT up,
463 int Ns,
int *bc,
int *Nsize);
466 float *RESTRICT vp,
float *RESTRICT up,
468 int Ns,
int *bc,
int *Nsize);
471 float *RESTRICT vp,
float *RESTRICT up,
473 int Ns,
int *bc,
int *Nsize);
476 float *RESTRICT vp,
float *RESTRICT wp,
478 int Ns,
float *RESTRICT mat_inv,
int *Nsize);
481 float *RESTRICT vp,
float *RESTRICT wp,
483 int Ns,
float *RESTRICT mat_inv,
int *Nsize);
486 float *RESTRICT vp,
float *RESTRICT wp,
487 int Ns,
int *Nsize,
float *e,
float *f,
488 float *dpinv,
float *dm,
float alpha);
491 float *RESTRICT vp,
float *RESTRICT wp,
492 int Ns,
int *Nsize,
float *e,
float *f,
493 float *dpinv,
float *dm,
float alpha);
void mult_domainwall_5din_yp2(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_tpb_dirac(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_mult_gm5_dirac(double *RESTRICT vp, double *RESTRICT wp, int Ns, int *Nsize)
void mult_domainwall_5din_zp2(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_mult_R(double *RESTRICT vp, double *RESTRICT wp, int Ns, int *Nsize)
void mult_domainwall_5din_hopb_dirac_4d(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_hop1_dirac(double *RESTRICT buf1_xp, double *RESTRICT buf1_xm, double *RESTRICT buf1_yp, double *RESTRICT buf1_ym, double *RESTRICT buf1_zp, double *RESTRICT buf1_zm, double *RESTRICT buf1_tp, double *RESTRICT buf1_tm, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm)
void mult_domainwall_5din_ee_5dirdag_dirac(double *RESTRICT vp, double *RESTRICT wp, double mq, double M0, int Ns, double *b, double *c, double alpha, int *Nsize)
void mult_domainwall_5din_xm1(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_eo_hopb_dirac_5d(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int ieo, int jeo, int jgm5)
void mult_domainwall_5din_mult_gm5R_dirac(double *RESTRICT vp, double *RESTRICT wp, int Ns, int *Nsize)
void mult_domainwall_5din_5dir_dirac(double *RESTRICT vp, double *RESTRICT yp, double *RESTRICT wp, double mq, double M0, int Ns, double *b, double *c, double alpha, int *Nsize)
void mult_domainwall_5din_zpb(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_eo_5dir_dirac(double *RESTRICT yp, double *RESTRICT wp, double mq, double M0, int Ns, double *b, double *c, double alpha, int *Nsize)
void mult_domainwall_5din_LUinv_dirac(double *RESTRICT vp, double *RESTRICT wp, int Ns, int *Nsize, double *e, double *f, double *dpinv, double *dm, double alpha)
void mult_domainwall_5din_tp2_dirac(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_ym1(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_eo_5dirdag_dirac(double *RESTRICT vp, double *RESTRICT yp, double mq, double M0, int Ns, double *b, double *c, double alpha, int *Nsize)
void mult_domainwall_5din_xp1(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_hopb_dirac_5d(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_zp1(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_eo_hop2_dirac(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, double *RESTRICT buf2_xp, double *RESTRICT buf2_xm, double *RESTRICT buf2_yp, double *RESTRICT buf2_ym, double *RESTRICT buf2_zp, double *RESTRICT buf2_zm, double *RESTRICT buf2_tp, double *RESTRICT buf2_tm, int Ns, int *bc, int *Nsize, int *do_comm, int ieo, int jeo)
void mult_domainwall_5din_zmb(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_eo_hop1_dirac(double *RESTRICT buf1_xp, double *RESTRICT buf1_xm, double *RESTRICT buf1_yp, double *RESTRICT buf1_ym, double *RESTRICT buf1_zp, double *RESTRICT buf1_zm, double *RESTRICT buf1_tp, double *RESTRICT buf1_tm, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int ieo, int jeo, int jgm5)
void mult_domainwall_5din_tp1_dirac(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_5dirdag_dirac(double *RESTRICT vp, double *RESTRICT yp, double *RESTRICT wp, double mq, double M0, int Ns, double *b, double *c, double alpha, int *Nsize)
void mult_domainwall_5din_ypb(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_tmb_dirac(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_xpb(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_ee_5dir_dirac(double *RESTRICT vp, double *RESTRICT wp, double mq, double M0, int Ns, double *b, double *c, double alpha, int *Nsize)
void mult_domainwall_5din_tm2_dirac(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_ee_inv_dirac_5d(double *RESTRICT vp, double *RESTRICT wp, int jd, int Ns, double *RESTRICT mat_inv, int *Nsize)
void mult_domainwall_5din_zm1(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_ee_inv_dirac_4d(double *RESTRICT vp, double *RESTRICT wp, int jd, int Ns, double *RESTRICT mat_inv, int *Nsize)
void mult_domainwall_5din_LUdaginv_dirac(double *RESTRICT vp, double *RESTRICT wp, int Ns, int *Nsize, double *e, double *f, double *dpinv, double *dm, double alpha)
void mult_domainwall_5din_zm2(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_ymb(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_eo_hopb_dirac_4d(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int ieo, int jeo, int jgm5)
void mult_domainwall_5din_hop2_dirac(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, double *RESTRICT buf2_xp, double *RESTRICT buf2_xm, double *RESTRICT buf2_yp, double *RESTRICT buf2_ym, double *RESTRICT buf2_zp, double *RESTRICT buf2_zm, double *RESTRICT buf2_tp, double *RESTRICT buf2_tm, int Ns, int *bc, int *Nsize, int *do_comm)
void mult_domainwall_5din_tm1_dirac(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_xmb(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize, int *do_comm, int flag)
void mult_domainwall_5din_ym2(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_xm2(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_yp1(double *RESTRICT buf, double *RESTRICT up, double *RESTRICT wp, int Ns, int *bc, int *Nsize)
void mult_domainwall_5din_xp2(double *RESTRICT vp, double *RESTRICT up, double *RESTRICT buf, int Ns, int *bc, int *Nsize)