|
| v0.14.0
|
Go to the documentation of this file.
11 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim2,
12 int Dim3,
char i,
char j,
char k,
char l,
char m,
char n>
17 template <
int Current_Dim0,
int Current_Dim1>
19 eval(
const int N1,
const int N2,
const int N3,
const int N4,
21 return iterA(N1, N2, Current_Dim0 - 1, Current_Dim1 - 1) *
22 iterB(Current_Dim0 - 1, Current_Dim1 - 1, N3, N4) +
26 template <
int Current_Dim1>
28 eval(
const int N1,
const int N2,
const int N3,
const int N4,
30 return iterA(N1, N2, 0, Current_Dim1 - 1) *
31 iterB(0, Current_Dim1 - 1, N3, N4) +
35 const int N3,
const int N4,
38 return iterA(N1, N2, 0, 0) *
iterB(0, 0, N3, N4);
52 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim2,
53 int Dim3,
char i,
char j,
char k,
char l,
char m,
char n>
54 Tensor4_Expr<Ddg_times_Tensor4_2301_ijkl<
A, B, T,
U, Dim01, Dim23, Dim2, Dim3,
i,
j,
62 Dim3,
i,
j,
k,
l>(TensorExpr(
a, b));
67 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim2,
68 int Dim3,
char i,
char j,
char k,
char l,
char m,
char n>
69 Tensor4_Expr<Ddg_times_Tensor4_2301_ijkl<
A, B, T,
U, Dim01, Dim23, Dim2, Dim3,
i,
j,
72 operator*(
const Tensor4_Expr<B, U, Dim23, Dim23, Dim2, Dim3, m, n, k, l> &b,
77 Dim3,
i,
j,
k,
l>(TensorExpr(
a, b));
83 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim0,
84 int Dim1,
char i,
char j,
char k,
char l,
char m,
char n>
89 template <
int Current_Dim0,
int Current_Dim1>
91 eval(
const int N1,
const int N2,
const int N3,
const int N4,
93 return iterA(Current_Dim0 - 1, Current_Dim1 - 1, N3, N4) *
94 iterB(N1, N2, Current_Dim0 - 1, Current_Dim1 - 1) +
98 template <
int Current_Dim1>
100 eval(
const int N1,
const int N2,
const int N3,
const int N4,
102 return iterA(0, Current_Dim1 - 1, N3, N4) *
103 iterB(N1, N2, 0, Current_Dim1 - 1) +
107 const int N3,
const int N4,
110 return iterA(0, 0, N3, N4) *
iterB(N1, N2, 0, 0);
119 const int N4)
const {
126 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim0,
127 int Dim1,
char i,
char j,
char k,
char l,
char m,
char n>
128 Tensor4_Expr<Ddg_times_Tensor4_2323_klij<
A, B, T,
U, Dim01, Dim23, Dim0, Dim1,
136 Dim23,
i,
j,
k,
l>(TensorExpr(
a, b));
141 template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
int Dim0,
142 int Dim1,
char i,
char j,
char k,
char l,
char m,
char n>
143 Tensor4_Expr<Ddg_times_Tensor4_2323_klij<
A, B, T,
U, Dim01, Dim23, Dim0, Dim1,
146 operator*(
const Tensor4_Expr<B, U, Dim0, Dim1, Dim23, Dim23, i, j, m, n> &b,
151 Dim23,
i,
j,
k,
l>(TensorExpr(
a, b));
Ddg_Expr< A, T, Dim01, Dim23, i, j, m, n > 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)
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
Tensor4_Expr< B, U, Dim0, Dim1, Dim23, Dim23, i, j, m, n > iterB
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< 1 > &, const Number< 1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< 1 > &, const Number< Current_Dim1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< 1 > &, const Number< Current_Dim1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &) const
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< 1 > &, const Number< 1 > &) const
Ddg_Expr< A, T, Dim01, Dim23, m, n, k, l > iterA
Ddg_times_Tensor4_2323_klij(const Ddg_Expr< A, T, Dim01, Dim23, m, n, k, l > &a, const Tensor4_Expr< B, U, Dim0, Dim1, Dim23, Dim23, i, j, m, n > &b)
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
Tensor4_Expr< B, U, Dim23, Dim23, Dim2, Dim3, m, n, k, l > iterB
promote< T, U >::V operator()(const int N1, const int N2, const int N3, const int N4) const
FTensor::Index< 'm', 3 > m
Ddg_times_Tensor4_2301_ijkl(const Ddg_Expr< A, T, Dim01, Dim23, i, j, m, n > &a, const Tensor4_Expr< B, U, Dim23, Dim23, Dim2, Dim3, m, n, k, l > &b)
FTensor::Index< 'k', 3 > k
promote< T, U >::V operator()(const int N1, const int N2, const int N3, const int N4) const
FTensor::Index< 'l', 3 > l