8template <
class A,
class B,
class T,
class U,
int Dim0_0,
int Dim1_0,
9 int Dim2_0,
int Dim3_0,
int Dim0_1,
int Dim1_1,
int Dim2_1,
10 int Dim3_1,
char i0,
char j0,
char k0,
char l0,
char i1,
char j1,
16template <
class A,
class B,
class T,
class U,
int Dim01,
int Dim23,
char i,
17 char j,
char k,
char l>
18class Tensor4_or_Tensor4<
A,
B,
T, U, Dim01, Dim01, Dim23, Dim23, Dim01, Dim01,
19 Dim23, Dim23,
i,
j,
k,
l,
j,
i,
l,
k> {
26 return iterA(
N1,
N2, N3, N4) + iterB(
N2,
N1, N4, N3);
30 const Tensor4_Expr<A, T, Dim01, Dim01, Dim23, Dim23, i, j, k, l> &
a,
32 : iterA(
a), iterB(b) {}
35 template <
class A,
class B,
class T,
class U,
int Dim0_0,
int Dim1_0,
36 int Dim2_0,
int Dim3_0,
int Dim0_1,
int Dim1_1,
int Dim2_1,
37 int Dim3_1,
char i0,
char j0,
char k0,
char l0,
char i1,
char j1,
45 Dim1_1, Dim2_1, Dim3_1, i0, j0, k0, l0, i1, j1, k1,
48 !std::is_empty<TensorExpr>::value,
49 "Indexes or Dimensions are not compatible with the || operator");
52 j0, k0, l0>(TensorExpr(
a, b));
FTensor::Tensor4_or_Tensor4< A, B, T, U, Dim01, Dim01, Dim23, Dim23, Dim01, Dim01, Dim23, Dim23, i, j, k, l, j, i, l, k >::operator() promote< T, U >::V operator()(const int N1, const int N2, const int N3, const int N4) const
FTensor::Tensor4_or_Tensor4< A, B, T, U, Dim01, Dim01, Dim23, Dim23, Dim01, Dim01, Dim23, Dim23, i, j, k, l, j, i, l, k >::Tensor4_or_Tensor4 Tensor4_or_Tensor4(const Tensor4_Expr< A, T, Dim01, Dim01, Dim23, Dim23, i, j, k, l > &a, const Tensor4_Expr< B, U, Dim01, Dim01, Dim23, Dim23, j, i, l, k > &b)
FTensor::Tensor4_or_Tensor4< A, B, T, U, Dim01, Dim01, Dim23, Dim23, Dim01, Dim01, Dim23, Dim23, i, j, k, l, j, i, l, k >::iterA Tensor4_Expr< A, T, Dim01, Dim01, Dim23, Dim23, i, j, k, l > iterA
FTensor::Tensor4_or_Tensor4< A, B, T, U, Dim01, Dim01, Dim23, Dim23, Dim01, Dim01, Dim23, Dim23, i, j, k, l, j, i, l, k >::iterB Tensor4_Expr< B, U, Dim01, Dim01, Dim23, Dim23, j, i, l, k > iterB
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
Tensors class implemented by Walter Landry.
Ddg_Expr< Ddg_or_Ddg< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, k, j, l > operator||(const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, l, k, j > &b)