|
| v0.14.0
|
Go to the documentation of this file.
18 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
19 int Dim3,
int Dim4,
int Dim5,
char i,
char j,
char k,
char l,
char m,
25 template <
int Current_Dim0,
int Current_Dim1>
29 return iterA(N1, N2, Current_Dim0 - 1, Current_Dim1 - 1) *
30 iterB(Current_Dim0 - 1, Current_Dim1 - 1, N3, N4) +
34 template <
int Current_Dim1>
38 return iterA(N1, N2, 0, Current_Dim1 - 1) *
39 iterB(0, Current_Dim1 - 1, N3, N4) +
45 return iterA(N1, N2, 0, 0) *
iterB(0, 0, N3, N4);
55 const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
60 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
61 int Dim3,
int Dim4,
int Dim5,
char i,
char j,
char k,
char l,
char m,
64 operator*(
const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
67 Tensor4_times_Tensor4_2345<
A, B, T,
U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5,
70 Dim5,
i,
j,
m,
n>(TensorExpr(
a, b));
75 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
76 int Dim3,
int Dim4,
int Dim5,
char i,
char j,
char k,
char l,
char m,
82 template <
int Current_Dim0,
int Current_Dim1>
86 return iterA(Current_Dim0 - 1, Current_Dim1 - 1, N1, N2) *
87 iterB(Current_Dim0 - 1, Current_Dim1 - 1, N3, N4) +
91 template <
int Current_Dim1>
95 return iterA(0, Current_Dim1 - 1, N1, N2) *
96 iterB(0, Current_Dim1 - 1, N3, N4) +
102 return iterA(0, 0, N1, N2) *
iterB(0, 0, N3, N4);
107 const int N4)
const {
112 const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
117 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim1,
int Dim2,
118 int Dim3,
int Dim4,
int Dim5,
char i,
char j,
char k,
char l,
char m,
121 operator*(
const Tensor4_Expr<A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l> &
a,
124 Tensor4_times_Tensor4_0145<
A, B, T,
U, Dim0, Dim1, Dim2, Dim3, Dim4, Dim5,
127 Dim5,
m,
n,
k,
l>(TensorExpr(
a, b));
Tensor4_times_Tensor4_2345(const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor4_Expr< B, U, Dim2, Dim3, Dim4, Dim5, k, l, m, n > &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)
Tensor4_times_Tensor4_0145(const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor4_Expr< B, U, Dim0, Dim1, Dim4, Dim5, i, j, m, n > &b)
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 operator()(const int N1, const int N2, const int N3, const int N4) const
const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > iterA
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 Number< Current_Dim1 > &) const
const Tensor4_Expr< B, U, Dim2, Dim3, Dim4, Dim5, k, l, m, n > iterB
FTensor::Index< 'j', 3 > j
const Tensor4_Expr< B, U, Dim0, Dim1, Dim4, Dim5, i, j, m, n > iterB
FTensor::Index< 'm', 3 > m
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 operator()(const int N1, const int N2, const int N3, const int N4) const
const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > iterA
FTensor::Index< 'k', 3 > k
promote< T, U >::V eval(const int N1, const int N2, const int N3, const int N4, const Number< 1 > &, const Number< 1 > &) const
FTensor::Index< 'l', 3 > l