Go to the documentation of this file.
11 #ifndef ACCEL_AINDEX_LEX_INCLUDED
12 #define ACCEL_AINDEX_LEX_INCLUDED
30 template<
typename REALTYPE>
34 int m_Nx, m_Ny,
m_Nz, m_Nt;
42 m_Ndf = 2 * m_Nc * m_Nc;
43 m_Nvcd = 2 * m_Nc * m_Nd;
49 m_Nvol_pad = ceil_nwp(m_Nvol);
56 m_Ndf = 2 * m_Nc * m_Nc;
57 m_Nvcd = 2 * m_Nc * m_Nd;
62 m_Nvol = Nx * Ny * Nz * Nt;
63 m_Nvol_pad = ceil_nwp(m_Nvol);
66 int site(
const int x,
const int y,
const int z,
const int t)
const
67 {
return m_Nx * (m_Ny * (m_Nz * t + z) + y) + x; }
69 int idx(
const int in,
const int Nin,
const int ist,
const int ex)
const
71 int istx = ist + m_Nvol_pad * ex;
72 return IDX2(Nin, in, istx);
75 int idx_G(
const int idf,
const int ist,
const int ex)
const
76 {
return idx(idf,
NDF, ist, ex); }
78 int idx_Gr(
const int ic1,
const int ic2,
const int ist,
const int ex)
const
79 {
int idf = 2*(ic1 +
NC *ic2);
80 return idx(idf,
NDF, ist, ex); }
82 int idx_Gi(
const int ic1,
const int ic2,
const int ist,
const int ex)
const
83 {
int idf = 1 + 2*(ic1 +
NC *ic2);
84 return idx(idf,
NDF, ist, ex); }
86 int idx_SP(
const int in,
const int ist,
const int ex)
const
87 {
return idx(in,
NVCD, ist, ex); }
89 int idx_SPr(
const int ic,
const int id,
const int ist,
const int ex)
const
90 {
int in = 2*(ic +
NC *id);
91 return idx(in,
NVCD, ist, ex); }
93 int idx_SPi(
const int ic,
const int id,
const int ist,
const int ex)
const
94 {
int in = 1 + 2*(ic +
NC *id);
95 return idx(in,
NVCD, ist, ex); }
98 {
return m_Nvol_pad; }
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(const int in, const int Nin, const int ist, const int ex) const
int m_Nvol_pad
Nvol after padding.
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_G(const int idf, const int ist, const int ex) const
int idx_Gi(const int ic1, const int ic2, const int ist, const int ex) const
#define IDX2(nin, in, ist)
int idx_SPi(const int ic, const int id, const int ist, const int ex) const
int idx(const int in, const int Nin, const int ist, const int Nx, const int Ny, const int Nxv, const int Nyv, const int Nstv, const int ex)
int m_Nvol
lattice volume (number of sites).
AIndex_lex(int Nx, int Ny, int Nz, int Nt)