|
| v0.14.0
|
Go to the documentation of this file.
18 #include "../Tensor4/Tensor4_number.hpp"
22 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
30 T
operator()(
const int N1,
const int N2,
const int N3)
const
32 return iter(N1, N2, N3);
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>
49 return iter(N1, N2, N3);
51 T
operator()(
const int N1,
const int N2,
const int N3)
const
53 return iter(N1, N2, N3);
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,
159 for (
int ii = 0; ii < Dim0; ++ii)
160 for (
int jj = 0; jj < Dim1; ++jj)
161 for (
int kk = 0; kk < Dim2; ++kk) {
162 iter(ii, jj, kk) -=
permute(*
this, rhs, ii, jj, kk);
169 Dim0, Dim1, Dim2,
i,
j,
k> &rhs) {
170 for (
int ii = 0; ii < Dim0; ++ii)
171 for (
int jj = 0; jj < Dim1; ++jj)
172 for (
int kk = 0; kk < Dim2; ++kk) {
173 iter(ii, jj, kk) -=
permute(*
this, rhs, ii, jj, kk);
178 template <
class B,
class U,
int Dim1_01,
int Dim1_2,
char i_1,
char j_1,
182 for (
int ii = 0; ii < Dim0; ++ii)
183 for (
int jj = 0; jj < Dim1; ++jj)
184 for (
int kk = 0; kk < Dim2; ++kk) {
185 iter(ii, jj, kk) =
permute(*
this, rhs, ii, jj, kk);
190 template <
class B,
class U,
int Dim1_01,
int Dim1_2,
char i_1,
char j_1,
194 for (
int ii = 0; ii < Dim0; ++ii)
195 for (
int jj = 0; jj < Dim1; ++jj)
196 for (
int kk = 0; kk < Dim2; ++kk) {
197 iter(ii, jj, kk) +=
permute(*
this, rhs, ii, jj, kk);
202 template <
class B,
class U,
int Dim1_01,
int Dim1_2,
char i_1,
char j_1,
206 for (
int ii = 0; ii < Dim0; ++ii)
207 for (
int jj = 0; jj < Dim1; ++jj)
208 for (
int kk = 0; kk < Dim2; ++kk) {
209 iter(ii, jj, kk) -=
permute(*
this, rhs, ii, jj, kk);
217 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
226 return iter(N0, N1, N2,
N);
228 T
operator()(
const int N0,
const int N1,
const int N2)
const {
229 return iter(N0, N1, N2,
N);
236 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
240 for (
int ii = 0; ii < Dim0; ++ii)
241 for (
int jj = 0; jj < Dim1; ++jj)
242 for (
int kk = 0; kk < Dim2; ++kk) {
249 Dim1, Dim2,
i,
j,
k> &result) {
257 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
266 return iter(N0, N1, N2,
N);
268 T
operator()(
const int N0,
const int N1,
const int N2)
const {
269 return iter(N0, N1, N2,
N);
276 template <
class B,
class U,
int Dim1_0,
int Dim1_1,
int Dim1_2,
char i_1,
281 for (
int ii = 0; ii < Dim0; ++ii)
282 for (
int jj = 0; jj < Dim1; ++jj)
283 for (
int kk = 0; kk < Dim2; ++kk) {
290 Dim1, Dim2,
i,
j,
k> &result) {
296 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
304 return -
iterA(N1, N2, N3);
311 template <
class A,
class T,
int Dim0,
int Dim1,
int Dim2,
char i,
char j,
313 Tensor3_Expr<minus_Tensor3<A, T, Dim0, Dim1, Dim2, i, j, k>, T, Dim0, Dim1,
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< 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
minus_Tensor3(const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &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)
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)
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)
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() 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+= auto & operator+=(const Dg_Expr< B, U, Dim1_01, 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 Dg_Expr< B, U, Dim1_01, Dim1_2, i_1, j_1, k_1 > &rhs)
T operator()(const int N1, const int N2, const int N3) const
FTensor::Index< 'i', SPACE_DIM > i
Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > iterA
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= 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= 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-= auto & operator-=(const Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k > &rhs)
T & operator()(const int N0, const int N1, const int N2)
Ddg_Expr< Ddg_minus_Ddg< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, j, k, l > operator-(const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &b)
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::Index< 'j', 3 > j
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= auto & operator=(const Dg_Expr< B, U, Dim1_01, Dim1_2, i_1, j_1, k_1 > &rhs)
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 >::equals auto & equals(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)
auto & operator=(const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i_1, j_1, k_1 > &rhs)
FTensor::Index< 'k', 3 > k
T operator()(const int N0, const int N1, const int N2) const
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)