|
| v0.14.0
|
Go to the documentation of this file.
8 template <
class A,
class B,
class T,
class U,
int Dim0_0,
int Dim1_0,
9 int Dim2_0,
int Dim0_1,
int Dim1_1,
int Dim2_1,
char i0,
char j0,
10 char k0,
char i1,
char j1,
char k1>
16 template <
class A,
class B,
class T,
class U,
int Dim0,
int Dim12,
char i,
18 class Tensor3_or_Tensor3<
A, B, T,
U, Dim0, Dim12, Dim12, Dim0, Dim12, Dim12,
26 operator()(
const int N1,
const int N2,
const int N3)
const
28 return iterA(N3, N1, N2) + iterB(N3, N2, N1);
40 template <
class A,
class B,
class T,
class U,
int Dim02,
int Dim1,
char i,
42 class Tensor3_or_Tensor3<
A, B, T,
U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02,
50 operator()(
const int N1,
const int N2,
const int N3)
const
52 return iterA(N1, N3, N2) + iterB(N2, N3, N1);
64 template <
class A,
class B,
class T,
class U,
int Dim02,
int Dim1,
char i,
66 class Tensor3_or_Tensor3<
A, B, T,
U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02,
74 operator()(
const int N1,
const int N2,
const int N3)
const
76 return iterA(N1, N2, N3) + iterB(N2, N1, N3);
86 template <
class A,
class B,
class T,
class U,
int Dim0_0,
int Dim1_0,
87 int Dim2_0,
int Dim0_1,
int Dim1_1,
int Dim2_1,
char i0,
char j0,
88 char k0,
char i1,
char j1,
char k1>
95 Dim2_1, i0, j0, k0, i1, j1, k1>;
97 !std::is_empty<TensorExpr>::value,
98 "Indexes or Dimensions are not compatible with the || operator");
101 constexpr
char i = (k0 == i1 || k0 == j1) ? ((i0 == i1) ? j0 : i0) : i0;
102 constexpr
char j = (k0 == i1 || k0 == j1) ? k0 : j0;
103 constexpr
char k = (k0 == i1 || k0 == j1) ? ((i0 == i1) ? i0 : j0) : k0;
106 j,
k>(TensorExpr(
a, b));
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim0, Dim12, Dim12, Dim0, Dim12, Dim12, i, j, k, i, k, j >::Tensor3_or_Tensor3 Tensor3_or_Tensor3(const Tensor3_Expr< A, T, Dim0, Dim12, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b)
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, j, i, k >::Tensor3_or_Tensor3 Tensor3_or_Tensor3(const Tensor3_Expr< A, T, Dim02, Dim1, Dim02, i, j, k > &a, const Tensor3_Expr< B, U, Dim02, Dim1, Dim02, j, i, k > &b)
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)
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, k, j, i >::iterB Tensor3_Expr< B, U, Dim02, Dim1, Dim02, k, j, i > iterB
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, j, i, k >::iterA Tensor3_Expr< A, T, Dim02, Dim1, Dim02, i, j, k > iterA
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, j, i, k >::operator() promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, j, i, k >::iterB Tensor3_Expr< B, U, Dim02, Dim1, Dim02, j, i, k > iterB
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim0, Dim12, Dim12, Dim0, Dim12, Dim12, i, j, k, i, k, j >::iterB Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > iterB
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, k, j, i >::Tensor3_or_Tensor3 Tensor3_or_Tensor3(const Tensor3_Expr< A, T, Dim02, Dim1, Dim02, i, j, k > &a, const Tensor3_Expr< B, U, Dim02, Dim1, Dim02, k, j, i > &b)
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim0, Dim12, Dim12, Dim0, Dim12, Dim12, i, j, k, i, k, j >::iterA Tensor3_Expr< A, T, Dim0, Dim12, Dim12, i, j, k > iterA
FTensor::Index< 'j', 3 > j
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, k, j, i >::operator() promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, k, j, i >::iterA Tensor3_Expr< A, T, Dim02, Dim1, Dim02, i, j, k > iterA
FTensor::Tensor3_or_Tensor3< A, B, T, U, Dim0, Dim12, Dim12, Dim0, Dim12, Dim12, i, j, k, i, k, j >::operator() promote< T, U >::V operator()(const int N1, const int N2, const int N3) const
FTensor::Index< 'k', 3 > k