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> &
46 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>
98 inline const Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>, T, Dim,
100 Tensor2_symmetric_Expr<Tensor2_symmetric<A, Tensor_Dim>, T, Dim,
i,
j>::
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> &
159 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> &
206 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> &
253 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> &
324 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> &
362 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> &
400 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> &
438 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> &
476 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> &
526 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> &
586 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>