Go to the documentation of this file.
10 #ifndef AINDEX_COARSE_LEX_QXS_H
11 #define AINDEX_COARSE_LEX_QXS_H
21 template<
typename REALTYPE>
24 int m_Nc, m_Nd, m_Nin,
m_Nin2, m_Ncol;
25 int m_Nx, m_Ny,
m_Nz, m_Nt, m_Nvol;
26 int m_Nxv, m_Nyv,
m_Nzt, m_Nstv;
32 AIndex_coarse_lex(
const int Nx,
const int Ny,
const int Nz,
const int Nt,
const int Nc,
const int Nd)
42 m_Nin2 = 2 * m_Ncol * m_Ncol;
43 m_Nvol = m_Nx * m_Ny * m_Nz * m_Nt;
46 m_Nxv = AIndex_lex_qxs::set_Nxv<REALTYPE>(m_Nx);
47 m_Nyv = AIndex_lex_qxs::set_Nyv<REALTYPE>(m_Ny);
49 m_Nstv = m_Nxv * m_Nyv * m_Nzt;
52 int site(
const int x,
const int y,
const int z,
const int t)
const
53 {
return x + m_Nx * (y + m_Ny * (z + m_Nz * t)); }
55 int idx(
const int in,
const int Nin,
const int ist,
const int ex)
const
58 return AIndex_lex_qxs::idx<REALTYPE>(in, Nin, ist, m_Nx, m_Ny,
59 m_Nxv, m_Nyv, m_Nstv, ex);
62 int idx_G(
const int idf,
const int ist,
const int ex)
const
63 {
return idx(idf, m_Nin2, ist, ex); }
65 int idx_Gr(
const int ic1,
const int ic2,
const int ist,
const int ex)
const
67 int idf = 2 * (ic2 + m_Ncol * ic1);
68 return idx_G(idf, ist, ex);
71 int idx_Gi(
const int ic1,
const int ic2,
const int ist,
const int ex)
const
73 int idf = 1 + 2 * (ic2 + m_Ncol * ic1);
74 return idx_G(idf, ist, ex);
77 int idx_SP(
const int in,
const int ist,
const int ex)
const
78 {
return idx(in, m_Nin, ist, ex); }
80 int idx_SPr(
const int ic,
const int id,
const int ist,
const int ex)
const
82 int in = 2 * (
id + m_Nd * ic);
83 return idx_SP(in, ist, ex);
86 int idx_SPi(
const int ic,
const int id,
const int ist,
const int ex)
const
88 int in = 1 + 2 * (
id + m_Nd * ic);
89 return idx_SP(in, ist, ex);
int idx(const int in, const int Nin, const int ist, const int ex) const
int site(const int x, const int y, const int z, const int t) const
int idx_SP(const int in, const int ist, const int ex) const
int idx(const int in, const int Nin, const int ist, const int Nx2, const int Ny, const int leo, const int Nvol2, const int ex)
int idx_SPi(const int ic, const int id, const int ist, const int ex) const
int idx_G(const int idf, const int ist, const int ex) const
int idx_SPr(const int ic, const int id, const int ist, const int ex) const
int idx_Gr(const int ic1, const int ic2, const int ist, const int ex) const
int idx_Gi(const int ic1, const int ic2, const int ist, const int ex) const
AIndex_coarse_lex(const int Nx, const int Ny, const int Nz, const int Nt, const int Nc, const int Nd)