|
| v0.14.0
|
Go to the documentation of this file.
9 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
10 int Dim3,
char i,
char j,
char k,
char l>
16 template <
int Current_Dim>
20 return iterA(N1, N2, N3, Current_Dim - 1) *
iterB(Current_Dim - 1)
31 operator()(
const int N1,
const int N2,
const int N3)
const
37 const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
43 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
44 int Dim3,
char i,
char j,
char k,
char l>
45 inline Tensor3_Expr<
const Tensor4_times_Tensor1_3<
A, B, T,
U, Dim0, Dim1,
46 Dim2, Dim3,
i,
j,
k,
l>,
48 operator*(
const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
55 Dim2,
i,
j,
k>(TensorExpr(
a, b));
60 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
61 int Dim3,
char i,
char j,
char k,
char l>
62 inline Tensor3_Expr<
const Tensor4_times_Tensor1_3<
A, B, T,
U, Dim0, Dim1,
63 Dim2, Dim3,
i,
j,
k,
l>,
72 Dim2,
i,
j,
k>(TensorExpr(
a, b));
77 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
78 int Dim3,
char i,
char j,
char k,
char l>
84 template <
int Current_Dim>
88 return iterA(N1, N2, Current_Dim - 1, N3) *
iterB(Current_Dim - 1)
99 operator()(
const int N1,
const int N2,
const int N3)
const
105 const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
111 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
112 int Dim3,
char i,
char j,
char k,
char l>
113 inline Tensor3_Expr<
const Tensor4_times_Tensor1_2<
A, B, T,
U, Dim0, Dim1,
114 Dim2, Dim3,
i,
j,
k,
l>,
116 operator*(
const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
123 Dim3,
i,
j,
l>(TensorExpr(
a, b));
128 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
129 int Dim3,
char i,
char j,
char k,
char l>
130 inline Tensor3_Expr<
const Tensor4_times_Tensor1_2<
A, B, T,
U, Dim0, Dim1,
131 Dim2, Dim3,
i,
j,
k,
l>,
140 Dim3,
i,
j,
l>(TensorExpr(
a, b));
145 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
146 int Dim3,
char i,
char j,
char k,
char l>
152 template <
int Current_Dim>
156 return iterA(N1, Current_Dim - 1, N2, N3) *
iterB(Current_Dim - 1)
173 const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
179 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
180 int Dim3,
char i,
char j,
char k,
char l>
181 inline Tensor3_Expr<
const Tensor4_times_Tensor1_1<
A, B, T,
U, Dim0, Dim2,
182 Dim2, Dim3,
i,
j,
k,
l>,
184 operator*(
const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
191 Dim3,
i,
k,
l>(TensorExpr(
a, b));
196 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
197 int Dim3,
char i,
char j,
char k,
char l>
198 inline Tensor3_Expr<
const Tensor4_times_Tensor1_1<
A, B, T,
U, Dim0, Dim1,
199 Dim2, Dim3,
i,
j,
k,
l>,
208 Dim3,
i,
k,
l>(TensorExpr(
a, b));
213 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
214 int Dim3,
char i,
char j,
char k,
char l>
220 template <
int Current_Dim>
224 return iterA(Current_Dim - 1, N1, N2, N3) *
iterB(Current_Dim - 1)
241 const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
247 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
248 int Dim3,
char i,
char j,
char k,
char l>
249 inline Tensor3_Expr<
const Tensor4_times_Tensor1_0<
A, B, T,
U, Dim0, Dim1,
250 Dim2, Dim3,
i,
j,
k,
l>,
252 operator*(
const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
259 Dim3,
j,
k,
l>(TensorExpr(
a, b));
264 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
265 int Dim3,
char i,
char j,
char k,
char l>
266 inline Tensor3_Expr<
const Tensor4_times_Tensor1_0<
A, B, T,
U, Dim0, Dim1,
267 Dim2, Dim3,
i,
j,
k,
l>,
276 Dim3,
j,
k,
l>(TensorExpr(
a, b));
const Tensor1_Expr< B, U, Dim3, l > iterB
promote< T, U >::V operator*(const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b)
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< Current_Dim > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< 1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< Current_Dim > &) const
const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > iterA
const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > iterA
promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > iterA
promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< 1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< Current_Dim > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< Current_Dim > &) const
promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< 1 > &) const
Tensor4_times_Tensor1_1(const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim1, j > &b)
const Tensor1_Expr< B, U, Dim0, i > iterB
FTensor::Index< 'i', SPACE_DIM > i
const Tensor1_Expr< B, U, Dim1, j > iterB
Tensor4_times_Tensor1_3(const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim3, l > &b)
FTensor::Index< 'j', 3 > j
const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > iterA
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< 1 > &) const
Tensor4_times_Tensor1_2(const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
FTensor::Index< 'k', 3 > k
Tensor4_times_Tensor1_0(const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim0, i > &b)
promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
FTensor::Index< 'l', 3 > l
const Tensor1_Expr< B, U, Dim2, k > iterB