13 #include "lib_alt_Accel/BridgeACC/bridgeACC_Index_eo_alt.h"
18 template<
typename REALTYPE>
19 template <
typename AFIELD>
30 int Nin = field_lex.
nin();
31 int Nex = field_lex.
nex();
32 int Nvol = field_lex.
nvol();
35 int Nvol_pad = field_lex.nvol_pad();
36 int Nvol2_pad = field_e.nvol_pad();
37 assert(field_o.nvol_pad() == Nvol2_pad);
42 int ieo_org = ieo_origin();
44 for(
int ex = 0; ex < Nex; ++ex){
45 int idx_lex =
IDX2(Nin, 0, Nvol_pad * ex);
46 int idx_eo =
IDX2(Nin, 0, Nvol2_pad * ex);
48 real_t *w =
const_cast<AFIELD*
>(&field_lex)->ptr(idx_lex);
60 template<
typename REALTYPE>
61 template <
typename AFIELD>
63 AFIELD& field_e,
const int ex_e,
64 AFIELD& field_o,
const int ex_o,
65 const AFIELD& field_lex,
const int ex)
73 int Nin = field_lex.
nin();
74 int Nvol = field_lex.
nvol();
77 int ieo_org = ieo_origin();
78 int Nvol_pad = field_lex.nvol_pad();
79 int Nvol2_pad = field_e.nvol_pad();
80 assert(field_o.nvol_pad() == Nvol2_pad);
83 int idx_lex = index_lex.
idx(0, Nin, 0, ex);
85 int idx_e =
idxh(0, Nin, 0, ex_e);
86 int idx_o =
idxh(0, Nin, 0, ex_o);
88 real_t *w =
const_cast<AFIELD*
>(&field_lex)->ptr(idx_lex);
99 template<
typename REALTYPE>
100 template <
typename AFIELD>
115 int nvol_pad = Ulex.nvol_pad();
116 int nvol2_pad = Ueo.nvol_pad();
118 for(
int mu = 0; mu < Ndim; ++mu){
122 index_lex.idx(0, Ndf, 0, mu));
132 template<
typename REALTYPE>
133 template <
typename AFIELD>
143 int Nin = field_lex.
nin();
144 int Nex = field_lex.
nex();
145 int Nvol = field_lex.
nvol();
148 int Nvol2_pad = field_e.nvol_pad();
149 int Nvol_pad = field_lex.nvol_pad();
150 assert(field_o.nvol_pad() == Nvol2_pad);
155 int ieo_org = ieo_origin();
157 for(
int ex = 0; ex < Nex; ++ex){
158 int idx_lex =
IDX2(Nin, 0, Nvol_pad * ex);
159 int idx_eo =
IDX2(Nin, 0, Nvol2_pad * ex);
162 real_t *we =
const_cast<AFIELD*
>(&field_e)->ptr(idx_eo);
163 real_t *wo =
const_cast<AFIELD*
>(&field_o)->ptr(idx_eo);