18 #include "../Tensor4/Tensor4_number.hpp"
22 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
36 template <
class A,
class T,
int Tensor_Dim0,
int Tensor_Dim1,
int Tensor_Dim2,
37 int Dim0,
int Dim1,
int Dim2,
char i,
char j,
char k>
39 Dim0, Dim1, Dim2,
i,
j,
k>
60 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
65 for(
int ii = 0; ii < Dim0; ++ii)
66 for(
int jj = 0; jj < Dim1; ++jj)
67 for(
int kk = 0; kk < Dim2; ++kk)
74 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
84 Dim0, Dim1, Dim2,
i,
j,
k> &rhs)
91 Dim1, Dim2,
i,
j,
k> &
94 for(
int ii = 0; ii < Dim0; ++ii)
95 for(
int jj = 0; jj < Dim1; ++jj)
96 for(
int kk = 0; kk < Dim2; ++kk)
105 Dim1, Dim2,
i,
j,
k> &
108 for(
int ii = 0; ii < Dim0; ++ii)
109 for(
int jj = 0; jj < Dim1; ++jj)
110 for(
int kk = 0; kk < Dim2; ++kk)
112 iter(ii, jj, kk) *= u;
119 Dim1, Dim2,
i,
j,
k> &
122 for(
int ii = 0; ii < Dim0; ++ii)
123 for(
int jj = 0; jj < Dim1; ++jj)
124 for(
int kk = 0; kk < Dim2; ++kk)
126 iter(ii, jj, kk) /= u;
131 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
135 for (
int ii = 0; ii < Dim0; ++ii)
136 for (
int jj = 0; jj < Dim1; ++jj)
137 for (
int kk = 0; kk < Dim2; ++kk) {
138 iter(ii, jj, kk) +=
permute(*
this, rhs, ii, jj, kk);
145 Dim0, Dim1, Dim2,
i,
j,
k> &rhs) {
146 for (
int ii = 0; ii < Dim0; ++ii)
147 for (
int jj = 0; jj < Dim1; ++jj)
148 for (
int kk = 0; kk < Dim2; ++kk) {
149 iter(ii, jj, kk) +=
permute(*
this, rhs, ii, jj, kk);
154 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
158 for (
int ii = 0; ii < Dim0; ++ii)
159 for (
int jj = 0; jj < Dim1; ++jj)
160 for (
int kk = 0; kk < Dim2; ++kk) {
161 iter(ii, jj, kk) -=
permute(*
this, rhs, ii, jj, kk);
168 Dim0, Dim1, Dim2,
i,
j,
k> &rhs) {
169 for (
int ii = 0; ii < Dim0; ++ii)
170 for (
int jj = 0; jj < Dim1; ++jj)
171 for (
int kk = 0; kk < Dim2; ++kk) {
172 iter(ii, jj, kk) -=
permute(*
this, rhs, ii, jj, kk);
181 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
200 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
204 for (
int ii = 0; ii < Dim0; ++ii)
205 for (
int jj = 0; jj < Dim1; ++jj)
206 for (
int kk = 0; kk < Dim2; ++kk) {
213 Dim1, Dim2,
i,
j,
k> &result) {
221 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
240 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
244 for (
int ii = 0; ii < Dim0; ++ii)
245 for (
int jj = 0; jj < Dim1; ++jj)
246 for (
int kk = 0; kk < Dim2; ++kk) {
253 Dim1, Dim2,
i,
j,
k> &result) {
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::equals auto & equals(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator= auto & operator=(const Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator+= auto & operator+=(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator*= Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > & operator*=(const U &u)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator/= Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > & operator/=(const U &u)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::Tensor3_Expr Tensor3_Expr(Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > &a)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator+= auto & operator+=(const Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator-= auto & operator-=(const Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator() T & operator()(const int N1, const int N2, const int N3)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator-= auto & operator-=(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::iter Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > & iter
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator= auto & operator=(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator() T operator()(const int N1, const int N2, const int N3) const
FTensor::Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >::operator= Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > & operator=(const U &u)
auto & operator=(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
T & operator()(const int N0, const int N1, const int N2)
T operator()(const int N0, const int N1, const int N2) const
auto & operator=(const Tensor3_Expr< Tensor4_number_rhs_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k > &result)
T operator()(const int N0, const int N1, const int N2) const
auto & operator=(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
T & operator()(const int N0, const int N1, const int N2)
auto & operator=(const Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k > &result)
T operator()(const int N1, const int N2, const int N3) const
FTensor::Index< 'j', 3 > j
FTensor::Index< 'i', 3 > i
FTensor::Index< 'k', 3 > k
U permute(const Tensor2_Expr< A, T, Dim0_0, Dim0_1, i0, j0 > &, const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)