9 template <
class A,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
char i,
14 auto TensorExpr = [&
a, &d0](
const int N1,
const int N2,
const int N3) {
15 return a.operator()(N1, N2, N3) * d0;
18 Dim1, Dim2,
i,
j,
k>(TensorExpr);
23 template <
class A,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
char i,
28 auto TensorExpr = [&
a, &d0](
const int N1,
const int N2,
const int N3) {
29 return d0 *
a.operator()(N1, N2, N3);
32 Dim1, Dim2,
i,
j,
k>(TensorExpr);
37 template <
class A,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
char i,
42 auto TensorExpr = [&
a, &d0](
const int N1,
const int N2,
const int N3) {
43 return a.operator()(N1, N2, N3) / d0;
46 Dim1, Dim2,
i,
j,
k>(TensorExpr);
51 template <
class A,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
char i,
56 auto TensorExpr = [&
a, &d0](
const int N1,
const int N2,
const int N3) {
57 return d0 /
a.operator()(N1, N2, N3);
60 Dim1, Dim2,
i,
j,
k>(TensorExpr);
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
Tensors class implemented by Walter Landry.
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)
auto operator/(const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const U &d0)