|
| v0.14.0
|
Go to the documentation of this file.
7 template <
int Dim0,
int Dim1,
int Dim2,
int Dim3,
char i,
char j,
char k,
14 template <
class B,
class U>
15 U eval(
const Tensor4_Expr<B, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &rhs,
16 const int N0,
const int N1,
const int N2,
const int N3)
18 return rhs(N0, N1, N2, N3);
21 template <
class B,
class U>
22 U eval(
const Tensor4_Expr<B, U, Dim0, Dim1, Dim3, Dim2, i, j, l, k> &rhs,
23 const int N0,
const int N1,
const int N2,
const int N3)
25 return rhs(N0, N1, N3, N2);
28 template <
class B,
class U>
29 U eval(
const Tensor4_Expr<B, U, Dim0, Dim2, Dim1, Dim3, i, k, j, l> &rhs,
30 const int N0,
const int N1,
const int N2,
const int N3)
32 return rhs(N0, N2, N1, N3);
35 template <
class B,
class U>
36 U eval(
const Tensor4_Expr<B, U, Dim0, Dim2, Dim3, Dim1, i, k, l, j> &rhs,
37 const int N0,
const int N1,
const int N2,
const int N3)
39 return rhs(N0, N2, N3, N1);
42 template <
class B,
class U>
43 U eval(
const Tensor4_Expr<B, U, Dim0, Dim3, Dim1, Dim2, i, l, j, k> &rhs,
44 const int N0,
const int N1,
const int N2,
const int N3)
46 return rhs(N0, N3, N1, N2);
49 template <
class B,
class U>
50 U eval(
const Tensor4_Expr<B, U, Dim0, Dim3, Dim2, Dim1, i, l, k, j> &rhs,
51 const int N0,
const int N1,
const int N2,
const int N3)
53 return rhs(N0, N3, N2, N1);
57 template <
class B,
class U>
58 U eval(
const Tensor4_Expr<B, U, Dim1, Dim0, Dim2, Dim3, j, i, k, l> &rhs,
59 const int N0,
const int N1,
const int N2,
const int N3)
61 return rhs(N1, N0, N2, N3);
64 template <
class B,
class U>
65 U eval(
const Tensor4_Expr<B, U, Dim1, Dim0, Dim3, Dim2, j, i, l, k> &rhs,
66 const int N0,
const int N1,
const int N2,
const int N3)
68 return rhs(N1, N0, N3, N2);
71 template <
class B,
class U>
72 U eval(
const Tensor4_Expr<B, U, Dim1, Dim2, Dim0, Dim3, j, k, i, l> &rhs,
73 const int N0,
const int N1,
const int N2,
const int N3)
75 return rhs(N1, N2, N0, N3);
78 template <
class B,
class U>
79 U eval(
const Tensor4_Expr<B, U, Dim1, Dim2, Dim3, Dim0, j, k, l, i> &rhs,
80 const int N0,
const int N1,
const int N2,
const int N3)
82 return rhs(N1, N2, N3, N0);
85 template <
class B,
class U>
86 U eval(
const Tensor4_Expr<B, U, Dim1, Dim3, Dim0, Dim2, j, l, i, k> &rhs,
87 const int N0,
const int N1,
const int N2,
const int N3)
89 return rhs(N1, N3, N0, N2);
92 template <
class B,
class U>
93 U eval(
const Tensor4_Expr<B, U, Dim1, Dim3, Dim2, Dim0, j, l, k, i> &rhs,
94 const int N0,
const int N1,
const int N2,
const int N3)
96 return rhs(N1, N3, N2, N0);
100 template <
class B,
class U>
101 U eval(
const Tensor4_Expr<B, U, Dim2, Dim1, Dim0, Dim3, k, j, i, l> &rhs,
102 const int N0,
const int N1,
const int N2,
const int N3)
104 return rhs(N2, N1, N0, N3);
107 template <
class B,
class U>
108 U eval(
const Tensor4_Expr<B, U, Dim2, Dim1, Dim3, Dim0, k, j, l, i> &rhs,
109 const int N0,
const int N1,
const int N2,
const int N3)
111 return rhs(N2, N1, N3, N0);
114 template <
class B,
class U>
115 U eval(
const Tensor4_Expr<B, U, Dim2, Dim0, Dim1, Dim3, k, i, j, l> &rhs,
116 const int N0,
const int N1,
const int N2,
const int N3)
118 return rhs(N2, N0, N1, N3);
121 template <
class B,
class U>
122 U eval(
const Tensor4_Expr<B, U, Dim2, Dim0, Dim3, Dim1, k, i, l, j> &rhs,
123 const int N0,
const int N1,
const int N2,
const int N3)
125 return rhs(N2, N0, N3, N1);
128 template <
class B,
class U>
129 U eval(
const Tensor4_Expr<B, U, Dim2, Dim3, Dim1, Dim0, k, l, j, i> &rhs,
130 const int N0,
const int N1,
const int N2,
const int N3)
132 return rhs(N2, N3, N1, N0);
135 template <
class B,
class U>
136 U eval(
const Tensor4_Expr<B, U, Dim2, Dim3, Dim0, Dim1, k, l, i, j> &rhs,
137 const int N0,
const int N1,
const int N2,
const int N3)
139 return rhs(N2, N3, N0, N1);
143 template <
class B,
class U>
144 U eval(
const Tensor4_Expr<B, U, Dim3, Dim1, Dim2, Dim0, l, j, k, i> &rhs,
145 const int N0,
const int N1,
const int N2,
const int N3)
147 return rhs(N3, N1, N2, N0);
150 template <
class B,
class U>
151 U eval(
const Tensor4_Expr<B, U, Dim3, Dim1, Dim0, Dim2, l, j, i, k> &rhs,
152 const int N0,
const int N1,
const int N2,
const int N3)
154 return rhs(N3, N1, N0, N2);
157 template <
class B,
class U>
158 U eval(
const Tensor4_Expr<B, U, Dim3, Dim2, Dim1, Dim0, l, k, j, i> &rhs,
159 const int N0,
const int N1,
const int N2,
const int N3)
161 return rhs(N3, N2, N1, N0);
164 template <
class B,
class U>
165 U eval(
const Tensor4_Expr<B, U, Dim3, Dim2, Dim0, Dim1, l, k, i, j> &rhs,
166 const int N0,
const int N1,
const int N2,
const int N3)
168 return rhs(N3, N2, N0, N1);
171 template <
class B,
class U>
172 U eval(
const Tensor4_Expr<B, U, Dim3, Dim0, Dim1, Dim2, l, i, j, k> &rhs,
173 const int N0,
const int N1,
const int N2,
const int N3)
175 return rhs(N3, N0, N1, N2);
178 template <
class B,
class U>
179 U eval(
const Tensor4_Expr<B, U, Dim3, Dim0, Dim2, Dim1, l, i, k, j> &rhs,
180 const int N0,
const int N1,
const int N2,
const int N3)
182 return rhs(N3, N0, N2, N1);
186 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
int Dim1_3,
187 char i1,
char j1,
char k1,
char l1>
190 const int N0,
const int N1,
const int N2,
const int N3)
192 static_assert(error_when_instantiated<B>(),
"Incompatible indices");
193 return rhs(0, 0, 0, 0);
197 template <
class B,
class U>
199 const int N1,
const int N2,
const int N3) {
200 static_assert(Dim0 == Dim1 && Dim2 == Dim3,
"Incompatible indices");
201 return rhs(N0, N1, N2, N3);
205 template <
class B,
class U>
207 const int N1,
const int N2,
const int N3) {
208 static_assert(Dim2 == Dim3 & Dim0 == Dim1,
"Incompatible indices");
209 return rhs(N2, N3, N0, N1);
213 template <
class B,
class U,
int Dim1_01,
int Dim1_23,
char i1,
char j1,
216 const int N0,
const int N1,
const int N2,
const int N3) {
217 static_assert(error_when_instantiated<B>(),
"Incompatible indices");
218 return rhs(0, 0, 0, 0);
U eval(const Tensor4_Expr< B, U, Dim0, Dim1, Dim3, Dim2, i, j, l, k > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim0, Dim3, Dim2, Dim1, i, l, k, j > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim1, Dim3, Dim0, Dim2, j, l, i, k > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim2, Dim0, Dim3, Dim1, k, i, l, j > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Ddg_Expr< B, U, Dim0, Dim2, k, l, i, j > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, Dim1_3, i1, j1, k1, l1 > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Ddg_Expr< B, U, Dim0, Dim2, i, j, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim2, Dim3, Dim1, Dim0, k, l, j, i > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim3, Dim2, Dim1, Dim0, l, k, j, i > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim3, Dim1, Dim0, Dim2, l, j, i, k > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim2, Dim1, Dim3, Dim0, k, j, l, i > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim3, Dim0, Dim1, Dim2, l, i, j, k > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim2, Dim1, Dim0, Dim3, k, j, i, l > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim1, Dim0, Dim3, Dim2, j, i, l, k > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim1, Dim3, Dim2, Dim0, j, l, k, i > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim1, Dim0, Dim2, Dim3, j, i, k, l > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim3, Dim2, Dim0, Dim1, l, k, i, j > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim0, Dim3, Dim1, Dim2, i, l, j, k > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim3, Dim1, Dim2, Dim0, l, j, k, i > &rhs, const int N0, const int N1, const int N2, const int N3)
FTensor::Index< 'i', SPACE_DIM > i
U eval(const Ddg_Expr< B, U, Dim1_01, Dim1_23, i1, j1, k1, l1 > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim0, Dim2, Dim3, Dim1, i, k, l, j > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim1, Dim2, Dim3, Dim0, j, k, l, i > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim0, Dim2, Dim1, Dim3, i, k, j, l > &rhs, const int N0, const int N1, const int N2, const int N3)
FTensor::Index< 'j', 3 > j
U eval(const Tensor4_Expr< B, U, Dim2, Dim0, Dim1, Dim3, k, i, j, l > &rhs, const int N0, const int N1, const int N2, const int N3)
FTensor::Index< 'k', 3 > k
U eval(const Tensor4_Expr< B, U, Dim1, Dim2, Dim0, Dim3, j, k, i, l > &rhs, const int N0, const int N1, const int N2, const int N3)
FTensor::Index< 'l', 3 > l
U eval(const Tensor4_Expr< B, U, Dim3, Dim0, Dim2, Dim1, l, i, k, j > &rhs, const int N0, const int N1, const int N2, const int N3)
U eval(const Tensor4_Expr< B, U, Dim2, Dim3, Dim0, Dim1, k, l, i, j > &rhs, const int N0, const int N1, const int N2, const int N3)