22 assert(field_eo.
nin() == field_lex.
nin());
23 assert(field_eo.
nex() == field_lex.
nex());
27 int Nin = field_lex.
nin();
28 int Nex = field_lex.
nex();
30 for (
int t = 0; t <
Nt; ++t) {
31 for (
int z = 0; z <
Nz; ++z) {
32 for (
int y = 0; y <
Ny; ++y) {
33 for (
int x = 0; x <
Nx; ++x) {
35 int ieo = (x + y + z + t) % 2;
36 for (
int ex = 0; ex < Nex; ex++) {
37 for (
int in = 0; in < Nin; in++) {
38 field_eo.
set(in,
site(x2, y, z, t, ieo), ex,
53 assert(field_eo.
nin() == field_lex.
nin());
54 assert(field_eo.
nex() == field_lex.
nex());
58 int Nin = field_lex.
nin();
59 int Nex = field_lex.
nex();
61 for (
int t = 0; t <
Nt; ++t) {
62 for (
int z = 0; z <
Nz; ++z) {
63 for (
int y = 0; y <
Ny; ++y) {
64 for (
int x2 = 0; x2 <
Nx2; ++x2) {
65 int x = 2 * x2 + ((y + z + t + ieo) % 2);
66 for (
int ex = 0; ex < Nex; ex++) {
67 for (
int in = 0; in < Nin; in++) {
68 field_eo.
set(in,
siteh(x2, y, z, t), ex,
83 assert(field_eo.
nin() == field_lex.
nin());
84 assert(field_eo.
nex() == field_lex.
nex());
88 int Nin = field_lex.
nin();
89 int Nex = field_lex.
nex();
91 for (
int t = 0; t <
Nt; ++t) {
92 for (
int z = 0; z <
Nz; ++z) {
93 for (
int y = 0; y <
Ny; ++y) {
94 for (
int x2 = 0; x2 <
Nx2; ++x2) {
95 int x = 2 * x2 + ((y + z + t + ieo) % 2);
96 for (
int ex = 0; ex < Nex; ex++) {
97 for (
int in = 0; in < Nin; in++) {
99 field_eo.
cmp(in,
siteh(x2, y, z, t), ex));
112 assert(field_eo.
nin() == field_lex.
nin());
113 assert(field_eo.
nex() == field_lex.
nex());
117 int Nin = field_lex.
nin();
118 int Nex = field_lex.
nex();
120 for (
int t = 0; t <
Nt; ++t) {
121 for (
int z = 0; z <
Nz; ++z) {
122 for (
int y = 0; y <
Ny; ++y) {
123 for (
int x = 0; x <
Nx; ++x) {
125 int ieo = (x + y + z + t) % 2;
126 for (
int ex = 0; ex < Nex; ex++) {
127 for (
int in = 0; in < Nin; in++) {
129 field_eo.
cmp(in,
site(x2, y, z, t, ieo), ex));
141 const Field& field_eo)
143 int Nin = field_eo.
nin();
144 int Nex = field_eo.
nex();
146 assert(field_e.
nin() == Nin);
147 assert(field_e.
nex() == Nex);
149 assert(field_o.
nin() == Nin);
150 assert(field_o.
nex() == Nex);
154 for (
int iex = 0; iex < Nex; ++iex) {
155 for (
int ivol = 0; ivol <
Nvol2; ++ivol) {
156 for (
int iin = 0; iin < Nin; ++iin) {
157 field_e.
set(iin, ivol, iex,
158 field_eo.
cmp(iin, ivol, iex));
159 field_o.
set(iin, ivol, iex,
160 field_eo.
cmp(iin, ivol + Nvol2, iex));
171 int Nin = field_eo.
nin();
172 int Nex = field_eo.
nex();
174 assert(field_e.
nin() == Nin);
175 assert(field_e.
nex() == Nex);
177 assert(field_o.
nin() == Nin);
178 assert(field_o.
nex() == Nex);
182 for (
int iex = 0; iex < Nex; ++iex) {
183 for (
int ivol = 0; ivol <
Nvol2; ++ivol) {
184 for (
int iin = 0; iin < Nin; ++iin) {
185 field_eo.
set(iin, ivol, iex,
186 field_e.
cmp(iin, ivol, iex));
187 field_eo.
set(iin, ivol + Nvol2, iex,
188 field_o.
cmp(iin, ivol, iex));
void set(const int jin, const int site, const int jex, double v)
int site(const int &x, const int &y, const int &z, const int &t) const
int siteh(const int x2, const int y, const int z, const int t) const
Container of Field-type object.
double cmp(const int jin, const int site, const int jex) const
int site(const int x2, const int y, const int z, const int t, const int ieo) const
void convertField(Field &eo, const Field &lex)
void mergeField(Field &eo, const Field &e, const Field &o)
void reverseField(Field &lex, const Field &eo)
void splitField(Field &e, Field &o, const Field &eo)