11 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
12 int Current_Dim0,
int Current_Dim1>
18 iter(Current_Dim0 - 1, Current_Dim1 - 1)
19 = result(Current_Dim0 - 1, Current_Dim1 - 1);
24 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
30 iter(0, Current_Dim1 - 1) = result(0, Current_Dim1 - 1);
35 template <
class A,
class B,
class U,
int Dim,
char i,
char j>
40 iter(0, 0) = result(0, 0);
43 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
44 template <
class B,
class U>
45 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
55 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
65 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
66 int Current_Dim0,
int Current_Dim1>
71 iter(Current_Dim0 - 1, Current_Dim1 - 1)
72 <<= result(Current_Dim0 - 1, Current_Dim1 - 1);
77 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
83 iter(0, Current_Dim1 - 1) <<= result(0, Current_Dim1 - 1);
88 template <
class A,
class B,
class U,
int Dim,
char i,
char j>
93 iter(0, 0) <<= result(0, 0);
96 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
97 template <
class B,
class U>
109 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
116 return operator<<=<Tensor2_symmetric<A, Tensor_Dim>,
T>(result);
121 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
122 int Current_Dim0,
int Current_Dim1>
129 iter(Current_Dim0 - 1, Current_Dim1 - 1)
130 += result(Current_Dim0 - 1, Current_Dim1 - 1);
135 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
142 iter(0, Current_Dim1 - 1) += result(0, Current_Dim1 - 1);
147 template <
class A,
class B,
class U,
int Dim,
char i,
char j>
153 iter(0, 0) += result(0, 0);
156 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
157 template <
class B,
class U>
158 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
168 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
169 int Current_Dim0,
int Current_Dim1>
176 iter(Current_Dim0 - 1, Current_Dim1 - 1)
177 -= result(Current_Dim0 - 1, Current_Dim1 - 1);
182 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
189 iter(0, Current_Dim1 - 1) -= result(0, Current_Dim1 - 1);
194 template <
class A,
class B,
class U,
int Dim,
char i,
char j>
200 iter(0, 0) -= result(0, 0);
203 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
204 template <
class B,
class U>
205 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
215 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
216 int Current_Dim0,
int Current_Dim1>
223 iter(Current_Dim0 - 1, Current_Dim1 - 1)
224 *= result(Current_Dim0 - 1, Current_Dim1 - 1);
229 template <
class A,
class B,
class U,
int Dim,
char i,
char j,
236 iter(0, Current_Dim1 - 1) *= result(0, Current_Dim1 - 1);
241 template <
class A,
class B,
class U,
int Dim,
char i,
char j>
247 iter(0, 0) *= result(0, 0);
250 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
251 template <
class B,
class U>
252 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
262 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
263 template <
class B,
class U>
272 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
273 template <
class B,
class U>
282 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
283 template <
class B,
class U>
296 template <
class A,
class U,
int Current_Dim0,
int Current_Dim1>
300 iter(Current_Dim0 - 1, Current_Dim1 - 1) = u;
305 template <
class A,
class U,
int Current_Dim1>
309 iter(0, Current_Dim1 - 1) = u;
314 template <
class A,
class U>
321 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
323 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
325 operator=(
const U &u)
333 template <
class A,
class U,
int Current_Dim0,
int Current_Dim1>
338 iter(Current_Dim0 - 1, Current_Dim1 - 1) += u;
343 template <
class A,
class U,
int Current_Dim1>
347 iter(0, Current_Dim1 - 1) += u;
352 template <
class A,
class U>
359 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
361 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
363 operator+=(
const U &u)
371 template <
class A,
class U,
int Current_Dim0,
int Current_Dim1>
376 iter(Current_Dim0 - 1, Current_Dim1 - 1) -= u;
381 template <
class A,
class U,
int Current_Dim1>
385 iter(0, Current_Dim1 - 1) -= u;
390 template <
class A,
class U>
397 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
399 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
401 operator-=(
const U &u)
409 template <
class A,
class U,
int Current_Dim0,
int Current_Dim1>
414 iter(Current_Dim0 - 1, Current_Dim1 - 1) *= u;
419 template <
class A,
class U,
int Current_Dim1>
423 iter(0, Current_Dim1 - 1) *= u;
428 template <
class A,
class U>
435 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
437 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
439 operator*=(
const U &u)
447 template <
class A,
class U,
int Current_Dim0,
int Current_Dim1>
452 iter(Current_Dim0 - 1, Current_Dim1 - 1) /= u;
457 template <
class A,
class U,
int Current_Dim1>
461 iter(0, Current_Dim1 - 1) /= u;
466 template <
class A,
class U>
473 template <
class A,
class T,
int Tensor_Dim,
int Dim,
char i,
char j>
475 const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>,
T, Dim,
i,
j> &
477 operator/=(
const U &u)
487 template <
class A,
class B,
class U,
int Dim01,
char i,
char j,
int N,
488 int Current_Dim0,
int Current_Dim1>
495 iter(Current_Dim0 - 1, Current_Dim1 - 1,
N)
496 = result(Current_Dim0 - 1, Current_Dim1 - 1);
501 template <
class A,
class B,
class U,
int Dim01,
char i,
char j,
int N,
509 iter(0, Current_Dim1 - 1,
N) = result(0, Current_Dim1 - 1);
514 template <
class A,
class B,
class U,
int Dim01,
char i,
char j,
int N>
520 iter(0, 0,
N) = result(0, 0);
523 template <
class A,
class T,
int Dim,
char i,
char j,
int N>
524 template <
class B,
class U>
525 const Tensor2_symmetric_Expr<Dg_number_rhs_2<A, T, N>,
T, Dim,
i,
j> &
534 template <
class A,
class T,
int Dim,
char i,
char j,
int N>
547 template <
class A,
class B,
class U,
int Dim01,
char i,
char j,
int N0,
548 int N1,
int Current_Dim0,
int Current_Dim1>
554 iter(
N0,
N1, Current_Dim0 - 1, Current_Dim1 - 1)
555 = result(Current_Dim0 - 1, Current_Dim1 - 1);
560 template <
class A,
class B,
class U,
int Dim01,
char i,
char j,
int N0,
561 int N1,
int Current_Dim1>
567 iter(
N0,
N1, 0, Current_Dim1 - 1) = result(0, Current_Dim1 - 1);
573 template <
class A,
class B,
class U,
int Dim01,
char i,
char j,
int N0,
580 iter(
N0,
N1, 0, 0) = result(0, 0);
583 template <
class A,
class T,
int Dim,
char i,
char j,
int N0,
int N1>
584 template <
class B,
class U>
585 const Tensor2_symmetric_Expr<Ddg_number_rhs_01<A, T, N0, N1>,
T, Dim,
i,
j> &
594 template <
class A,
class T,
int Dim,
char i,
char j,
int N0,
int N1>
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
Tensors class implemented by Walter Landry.
void T2s_times_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T3dgrhs2_equals_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< N > &)
void T2s_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_divide_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_minus_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_equals_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_minus_equals_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T4ddgrhs01_equals_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< N0 > &, const Number< N1 > &)
void T2s_and_equals_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_plus_equals_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_equals_adolc_left_T2s(A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
void T2s_plus_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)