|
| v0.14.0
|
Go to the documentation of this file.
10 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
char i,
11 char j,
char k,
char l>
17 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, N2)
27 template <
int Current_Dim1>
32 return iterA(N1, 0, Current_Dim1 - 1) *
iterB(0, Current_Dim1 - 1, N2)
52 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
char i,
53 char j,
char k,
char l>
54 Tensor2_Expr<Dg_times_Dg_12_01<A, B, T, U, Dim01, Dim2, i, j, k, l>,
66 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
char i,
67 char j,
char k,
char l>
68 Tensor2_Expr<Dg_times_Dg_12_01<A, B, T, U, Dim01, Dim2, i, j, k, l>,
80 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
char i,
81 char j,
char k,
char l>
87 template <
int Current_Dim0,
int Current_Dim1>
92 return iterA(N1, Current_Dim0 - 1, Current_Dim1 - 1)
93 *
iterB(Current_Dim1 - 1, N2, Current_Dim0 - 1)
97 template <
int Current_Dim1>
102 return iterA(N1, 0, Current_Dim1 - 1) *
iterB(Current_Dim1 - 1, N2, 0)
122 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
char i,
123 char j,
char k,
char l>
124 Tensor2_Expr<Dg_times_Dg_12_20<A, B, T, U, Dim01, Dim2, i, j, k, l>,
131 l>(TensorExpr(
a, b));
136 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
char i,
137 char j,
char k,
char l>
138 Tensor2_Expr<Dg_times_Dg_12_20<A, B, T, U, Dim01, Dim2, i, j, k, l>,
145 l>(TensorExpr(
a, b));
150 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
int Dim3,
151 char i,
char j,
char k,
char l>
156 template <
int Current_Dim0,
int Current_Dim1>
160 return iterA(Current_Dim0 - 1, Current_Dim1 - 1, N1) *
161 iterB(Current_Dim0 - 1, Current_Dim1 - 1, N2) +
164 template <
int Current_Dim1>
168 return iterA(0, Current_Dim1 - 1, N1) *
iterB(0, Current_Dim1 - 1, N2) +
185 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim2,
int Dim3,
186 char i,
char j,
char k,
char l>
190 Dg_times_Dg_01_01<A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l>;
192 l>(TensorExpr(
a, b));
197 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim2,
198 char i,
char j,
char k,
char l,
char m>
204 template <
int Current_Dim0>
206 eval(
const int N1,
const int N2,
const int N3,
const int N4,
209 return iterA(N1, N2, Current_Dim0 - 1) *
iterB(N3, N4, Current_Dim0 - 1)
224 operator()(
const int N1,
const int N2,
const int N3,
const int N4)
const
230 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim2,
231 char i,
char j,
char k,
char l,
char m>
232 Ddg_Expr<Dg_times_Dg_2<A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m>,
238 =
Dg_times_Dg_2<A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m>;
240 l,
m>(TensorExpr(
a, b));
Dg_Expr< A, T, Dim01, Dim01, i, j, k > iterA
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)
Dg_times_Dg_2(const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim23, Dim2, l, m, k > &b)
Dg_Expr< B, U, Dim2, Dim01, k, l, j > iterB
promote< T, U >::V eval(const int N1, const int N2, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
Dg_Expr< A, T, Dim01, Dim2, i, j, k > iterA
promote< T, U >::V eval(const int N1, const int N2, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
promote< T, U >::V operator()(const int N1, const int N2) const
promote< T, U >::V eval(const int N1, const int N2, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
promote< T, U >::V operator()(const int N1, const int N2) const
promote< T, U >::V eval(const int N1, const int N2, const Number< 1 > &, const Number< 1 > &) const
Dg_times_Dg_12_01(const Dg_Expr< A, T, Dim01, Dim01, i, j, k > &a, const Dg_Expr< B, U, Dim01, Dim2, j, k, l > &b)
Dg_Expr< B, U, Dim23, Dim2, l, m, k > iterB
Dg_Expr< B, U, Dim01, Dim3, i, j, l > iterB
Dg_times_Dg_12_20(const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim2, Dim01, k, l, j > &b)
Dg_Expr< B, U, Dim01, Dim2, j, k, l > iterB
promote< T, U >::V eval(const int N1, const int N2, const Number< 1 > &, const Number< Current_Dim1 > &) const
Dg_Expr< A, T, Dim01, Dim2, i, j, k > iterA
Dg_Expr< A, T, Dim01, Dim2, i, j, k > iterA
promote< T, U >::V eval(const int N1, const int N2, const Number< 1 > &, const Number< 1 > &) const
promote< T, U >::V operator()(const int N1, const int N2) const
promote< T, U >::V eval(const int N1, const int N2, const Number< 1 > &, const Number< 1 > &) const
promote< T, U >::V operator()(const int N1, const int N2, const int N3, const int N4) const
FTensor::Index< 'i', SPACE_DIM > i
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< Current_Dim0 > &) const
promote< T, U >::V eval(const int N1, const int N2, const Number< 1 > &, const Number< Current_Dim1 > &) const
Dg_times_Dg_01_01(const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim01, Dim3, i, j, l > &b)
FTensor::Index< 'j', 3 > j
FTensor::Index< 'm', 3 > m
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< 1 > &) const
FTensor::Index< 'k', 3 > k
FTensor::Index< 'l', 3 > l
promote< T, U >::V eval(const int N1, const int N2, const Number< 1 > &, const Number< Current_Dim1 > &) const