|
| v0.14.0
|
Go to the documentation of this file.
11 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim,
char i,
18 template <
int Current_Dim0,
int Current_Dim1>
22 return iterA(N1, Current_Dim0 - 1, Current_Dim1 - 1)
23 *
iterB(Current_Dim0 - 1, Current_Dim1 - 1)
26 template <
int Current_Dim1>
30 return iterA(N1, 0, Current_Dim1 - 1) *
iterB(0, Current_Dim1 - 1)
51 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim,
char i,
54 Tensor3_times_Tensor2_symmetric_12<A, B, T, U, Dim0, Dim, i, j, k>,
67 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim,
char i,
70 Tensor3_times_Tensor2_symmetric_12<A, B, T, U, Dim0, Dim, i, j, k>,
83 template <
class A,
class B,
class T,
class U,
int Dim1,
int Dim,
char i,
90 template <
int Current_Dim0,
int Current_Dim1>
94 return iterA(Current_Dim0 - 1, N1, Current_Dim1 - 1)
95 *
iterB(Current_Dim0 - 1, Current_Dim1 - 1)
98 template <
int Current_Dim1>
102 return iterA(0, N1, Current_Dim1 - 1) *
iterB(0, Current_Dim1 - 1)
123 template <
class A,
class B,
class T,
class U,
int Dim1,
int Dim,
char i,
126 Tensor3_times_Tensor2_symmetric_02<A, B, T, U, Dim1, Dim, i, j, k>,
139 template <
class A,
class B,
class T,
class U,
int Dim1,
int Dim,
char i,
142 Tensor3_times_Tensor2_symmetric_02<A, B, T, U, Dim1, Dim, i, j, k>,
155 template <
class A,
class B,
class T,
class U,
int Dim2,
int Dim,
char i,
162 template <
int Current_Dim0,
int Current_Dim1>
166 return iterA(Current_Dim0 - 1, Current_Dim1 - 1, N1)
167 *
iterB(Current_Dim0 - 1, Current_Dim1 - 1)
170 template <
int Current_Dim1>
174 return iterA(0, Current_Dim1 - 1, N1) *
iterB(0, Current_Dim1 - 1)
195 template <
class A,
class B,
class T,
class U,
int Dim2,
int Dim,
char i,
198 Tensor3_times_Tensor2_symmetric_01<A, B, T, U, Dim2, Dim, i, j, k>,
211 template <
class A,
class B,
class T,
class U,
int Dim2,
int Dim,
char i,
214 Tensor3_times_Tensor2_symmetric_01<A, B, T, U, Dim2, Dim, i, j, k>,
227 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim,
int Dim2,
228 char i,
char j,
char k,
char l>
233 template <
int Current_Dim>
236 return iterA(N1, Current_Dim - 1, N2)
237 *
iterB(Current_Dim - 1, N3)
252 const int N3)
const {
257 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim,
int Dim2,
258 char i,
char j,
char k,
char l>
259 Tensor3_Expr<Tensor3_times_Tensor2_symmetric_1<
A, B, T,
U, Dim0, Dim, Dim2,
i,
267 i,
l,
k>(TensorExpr(
a, b));
272 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim,
int Dim2,
273 char i,
char j,
char k,
char l>
274 Tensor3_Expr<Tensor3_times_Tensor2_symmetric_1<
A, B, T,
U, Dim0, Dim, Dim2,
i,
282 i,
l,
k>(TensorExpr(
a, b));
287 template <
class A,
class B,
class T,
class U,
int Dim,
int Dim1,
int Dim2,
288 char i,
char j,
char k,
char l>
293 template <
int Current_Dim>
296 return iterA(Current_Dim - 1, N1, N2)
297 *
iterB(Current_Dim - 1, N3)
312 const int N3)
const {
317 template <
class A,
class B,
class T,
class U,
int Dim,
int Dim1,
int Dim2,
318 char i,
char j,
char k,
char l>
319 Tensor3_Expr<Tensor3_times_Tensor2_symmetric_0<
A, B, T,
U, Dim, Dim1, Dim2,
i,
327 l,
j,
k>(TensorExpr(
a, b));
332 template <
class A,
class B,
class T,
class U,
int Dim,
int Dim1,
int Dim2,
333 char i,
char j,
char k,
char l>
334 Tensor3_Expr<Tensor3_times_Tensor2_symmetric_0<
A, B, T,
U, Dim, Dim1, Dim2,
i,
342 l,
j,
k>(TensorExpr(
a, b));
Tensor3_times_Tensor2_symmetric_12(const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
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)
Tensor3_times_Tensor2_symmetric_02(const Tensor3_Expr< A, T, Dim, Dim1, Dim, j, i, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< 1 > &) const
promote< T, U >::V operator()(const int N1) const
Tensor3_Expr< A, T, Dim, Dim1, Dim2, i, j, k > iterA
Tensor3_Expr< A, T, Dim, Dim, Dim2, j, k, i > iterA
Tensor3_Expr< A, T, Dim0, Dim, Dim2, i, j, k > iterA
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 Number< Current_Dim0 > &, const Number< Current_Dim1 > &) 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 Number< 1 > &, const Number< Current_Dim1 > &) const
Tensor3_times_Tensor2_symmetric_0(const Tensor3_Expr< A, T, Dim, Dim1, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, l > &b)
promote< T, U >::V eval(const int N1, const Number< 1 > &, const Number< 1 > &) const
Tensor3_Expr< A, T, Dim, Dim1, Dim, j, i, k > iterA
promote< T, U >::V eval(const int N1, const Number< 1 > &, const Number< Current_Dim1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< 1 > &) const
FTensor::Index< 'i', SPACE_DIM > i
Tensor2_symmetric_Expr< B, U, Dim, i, l > iterB
promote< T, U >::V eval(const int N1, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
Tensor2_symmetric_Expr< B, U, Dim, j, k > iterB
Tensor2_symmetric_Expr< B, U, Dim, j, k > iterB
Tensor3_times_Tensor2_symmetric_01(const Tensor3_Expr< A, T, Dim, Dim, Dim2, j, k, i > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
promote< T, U >::V operator()(const int N1) const
promote< T, U >::V eval(const int N1, const Number< 1 > &, const Number< 1 > &) const
promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
FTensor::Index< 'j', 3 > j
Tensor2_symmetric_Expr< B, U, Dim, j, l > iterB
promote< T, U >::V eval(const int N1, const Number< 1 > &, const Number< 1 > &) const
promote< T, U >::V operator()(const int N1) const
promote< T, U >::V eval(const int N1, const Number< 1 > &, const Number< Current_Dim1 > &) const
Tensor2_symmetric_Expr< B, U, Dim, j, k > iterB
Tensor3_times_Tensor2_symmetric_1(const Tensor3_Expr< A, T, Dim0, Dim, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b)
FTensor::Index< 'k', 3 > k
promote< T, U >::V eval(const int N1, const int N2, const int N3, const Number< Current_Dim > &) const
FTensor::Index< 'l', 3 > l
promote< T, U >::V eval(const int N1, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > iterA