12  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
   13            char k, 
int Current_Dim0, 
int Current_Dim1, 
int Current_Dim2>
 
   19    iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1)
 
   20      = result(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1);
 
 
   25  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
   26            char k, 
int Current_Dim1, 
int Current_Dim2>
 
   32    iter(0, Current_Dim1 - 1, Current_Dim2 - 1)
 
   33      = result(0, Current_Dim1 - 1, Current_Dim2 - 1);
 
 
   38  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
   39            char k, 
int Current_Dim2>
 
   45    iter(0, 0, Current_Dim2 - 1) = result(0, 0, Current_Dim2 - 1);
 
 
   50  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
   56    iter(0, 0, 0) = result(0, 0, 0);
 
 
   59  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
   60            int Dim2, 
char i, 
char j, 
char k>
 
   61  template <
class B, 
class U>
 
   62  Dg_Expr<Dg<A, Tensor_Dim01, Tensor_Dim2>, T, Dim01, Dim2, 
i, 
j, 
k> &
 
   73  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
   74            int Dim2, 
char i, 
char j, 
char k>
 
   88    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
   94    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
   99  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
  100            char k, 
int Current_Dim0, 
int Current_Dim1, 
int Current_Dim2,
 
  107    Op::op(iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1),
 
  108           result(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1));
 
 
  113  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
  114            char k, 
int Current_Dim1, 
int Current_Dim2, 
class Op>
 
  119    Op::op(iter(0, Current_Dim1 - 1, Current_Dim2 - 1),
 
  120           result(0, Current_Dim1 - 1, Current_Dim2 - 1));
 
 
  126  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
  127            char k, 
int Current_Dim2, 
class Op>
 
  132    Op::op(iter(0, 0, Current_Dim2 - 1), result(0, 0, Current_Dim2 - 1));
 
 
  137  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim2, 
char i, 
char j,
 
  143    Op::op(iter(0, 0, 0), result(0, 0, 0));
 
 
  146  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
  147            int Dim2, 
char i, 
char j, 
char k>
 
  148  template <
class B, 
class U>
 
  149  Dg_Expr<Dg<A, Tensor_Dim01, Tensor_Dim2>, T, Dim01, Dim2, 
i, 
j, 
k> &
 
  159  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
  160            int Dim2, 
char i, 
char j, 
char k>
 
  161  template <
class B, 
class U>
 
  173  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
  174            int Dim2, 
char i, 
char j, 
char k>
 
  183  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
  184            int Dim2, 
char i, 
char j, 
char k>
 
  195  template <
class A, 
class U, 
int Dim01, 
int Dim2, 
int Current_Dim0,
 
  196            int Current_Dim1, 
int Current_Dim2>
 
  202    iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1) = u;
 
 
  208  template <
class A, 
class U, 
int Dim01, 
int Dim2, 
int Current_Dim1,
 
  215    iter(0, Current_Dim1 - 1, Current_Dim2 - 1) = u;
 
 
  221  template <
class A, 
class U, 
int Dim01, 
int Dim2, 
int Current_Dim2>
 
  226    iter(0, 0, Current_Dim2 - 1) = u;
 
 
  232  template <
class A, 
class U, 
int Dim01, 
int Dim2>
 
  240  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim2, 
int Dim01,
 
  241            int Dim2, 
char i, 
char j, 
char k>
 
  243  Dg_Expr<Dg<A, Tensor_Dim01, Tensor_Dim2>, T, Dim01, Dim2, 
i, 
j, 
k> &
 
  245  operator=(
const U &u)
 
 
  264    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
  270    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
  276    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
  281  template <
class A, 
class B, 
class U, 
int Dim12, 
int Dim0, 
char i, 
char j,
 
  282            char k, 
int Current_Dim0, 
int Current_Dim1, 
int Current_Dim2,
 
  288    Op::op(iter(Current_Dim2 - 1, Current_Dim0 - 1, Current_Dim1 - 1),
 
  289           result(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1));
 
 
  294  template <
class A, 
class B, 
class U, 
int Dim12, 
int Dim0, 
char i, 
char j,
 
  295            char k, 
int Current_Dim1, 
int Current_Dim2, 
class Op>
 
  300    Op::op(iter(Current_Dim2 - 1, 0, Current_Dim1 - 1),
 
  301           result(0, Current_Dim1 - 1, Current_Dim2 - 1));
 
 
  306  template <
class A, 
class B, 
class U, 
int Dim12, 
int Dim0, 
char i, 
char j,
 
  307            char k, 
int Current_Dim2, 
class Op>
 
  312    Op::op(iter(Current_Dim2 - 1, 0, 0), result(0, 0, Current_Dim2 - 1));
 
 
  317  template <
class A, 
class B, 
class U, 
int Dim12, 
int Dim0, 
char i, 
char j,
 
  323    Op::op(iter(0, 0, 0), result(0, 0, 0));
 
 
  326  template <
class Tp, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  327            int Dim0, 
char i, 
char j, 
char k>
 
  328  template <
class B, 
class U>
 
  329  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  330  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k>::
 
  331  operator=(
const Dg_Expr<B, U, Dim12, Dim0, i, j, k> &result)
 
  334                     Number<Dim0>(), T3ch_equals_T3dg_Op<0>());
 
  338  template <
class Tp, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  339            int Dim0, 
char i, 
char j, 
char k>
 
  340  template <
class B, 
class U>
 
  341  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  342  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k>::
 
  343  operator+=(
const Dg_Expr<B, U, Dim12, Dim0, i, j, k> &result)
 
  346                     Number<Dim0>(), T3ch_equals_T3dg_Op<1>());
 
  350  template <
class Tp, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  351            int Dim0, 
char i, 
char j, 
char k>
 
  352  template <
class B, 
class U>
 
  353  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  354  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k>::
 
  355  operator-=(
const Dg_Expr<B, U, Dim12, Dim0, i, j, k> &result)
 
  358                     Number<Dim0>(), T3ch_equals_T3dg_Op<2>());
 
  364  template <
class Tp, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  365            int Dim0, 
char i, 
char j, 
char k>
 
  366  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  367  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k>::
 
  368  operator=(
const Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12,
 
  369                          Dim0, 
i, 
j, 
k> &result)
 
  371    return operator=<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T>(result);
 
  374  template <
class Tp, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  375            int Dim0, 
char i, 
char j, 
char k>
 
  376  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  377  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k>::
 
  378  operator+=(
const Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12,
 
  379                          Dim0, 
i, 
j, 
k> &result)
 
  381    return operator+=<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T>(result);
 
  384  template <
class Tp, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  385            int Dim0, 
char i, 
char j, 
char k>
 
  386  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  387  Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k>::
 
  388  operator-=(
const Dg_Expr<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T, Dim12,
 
  389                          Dim0, 
i, 
j, 
k> &result)
 
  391    return operator-=<Christof<Tp, Tensor_Dim0, Tensor_Dim12>, T>(result);
 
  396  template <
class A, 
class U, 
int Dim12, 
int Dim0, 
int Current_Dim0,
 
  397            int Current_Dim1, 
int Current_Dim2>
 
  403    iter(Current_Dim2 - 1, Current_Dim0 - 1, Current_Dim1 - 1) = u;
 
 
  409  template <
class A, 
class U, 
int Dim12, 
int Dim0, 
int Current_Dim1,
 
  416    iter(Current_Dim2 - 1, 0, Current_Dim1 - 1) = u;
 
 
  422  template <
class A, 
class U, 
int Dim12, 
int Dim0, 
int Current_Dim2>
 
  427    iter(Current_Dim2 - 1, 0, 0) = u;
 
 
  433  template <
class A, 
class U, 
int Dim12, 
int Dim0>
 
  441  template <
class A, 
class T, 
int Tensor_Dim0, 
int Tensor_Dim12, 
int Dim12,
 
  442            int Dim0, 
char i, 
char j, 
char k>
 
  444  Dg_Expr<Christof<A, Tensor_Dim0, Tensor_Dim12>, T, Dim12, Dim0, 
i, 
j, 
k> &
 
  446  operator=(
const U &u)
 
 
  457  template <
class A, 
class B, 
class U, 
int Dim23, 
int Dim1, 
char i, 
char j,
 
  458            char k, 
int Current_Dim0, 
int Current_Dim1, 
int Current_Dim2, 
int N>
 
  465    iter(
N, Current_Dim2 - 1, Current_Dim0 - 1, Current_Dim1 - 1)
 
  466      = result(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1);
 
 
  472  template <
class A, 
class B, 
class U, 
int Dim23, 
int Dim1, 
char i, 
char j,
 
  473            char k, 
int Current_Dim1, 
int Current_Dim2, 
int N>
 
  479    iter(
N, Current_Dim2 - 1, 0, Current_Dim1 - 1)
 
  480      = result(0, Current_Dim1 - 1, Current_Dim2 - 1);
 
 
  486  template <
class A, 
class B, 
class U, 
int Dim23, 
int Dim1, 
char i, 
char j,
 
  487            char k, 
int Current_Dim2, 
int N>
 
  493    iter(
N, Current_Dim2 - 1, 0, 0) = result(0, 0, Current_Dim2 - 1);
 
 
  498  template <
class A, 
class B, 
class U, 
int Dim23, 
int Dim1, 
char i, 
char j,
 
  505    iter(
N, 0, 0, 0) = result(0, 0, 0);
 
 
  508  template <
class A, 
class T, 
int Dim23, 
int Dim1, 
char i, 
char j, 
char k,
 
  510  template <
class B, 
class U>
 
  511  Dg_Expr<Ddg_number_rhs_0<A, T, N>, T, Dim23, Dim1, 
i, 
j, 
k> &
 
  512  Dg_Expr<Ddg_number_rhs_0<A, T, N>, T, Dim23, Dim1, 
i, 
j, 
k>::
 
  513  operator=(
const Dg_Expr<B, U, Dim23, Dim1, i, j, k> &result)
 
  516                          Number<Dim1>(), Number<N>());
 
  522  template <
class A, 
class T, 
int Dim23, 
int Dim1, 
char i, 
char j, 
char k,
 
  524  Dg_Expr<Ddg_number_rhs_0<A, T, N>, T, Dim23, Dim1, 
i, 
j, 
k> &
 
  525  Dg_Expr<Ddg_number_rhs_0<A, T, N>, T, Dim23, Dim1, 
i, 
j, 
k>::operator=(
 
  526    const Dg_Expr<Ddg_number_rhs_0<A, T, N>, T, Dim23, Dim1, 
i, 
j, 
k> &result)
 
  528    return operator=<Ddg_number_rhs_0<A, T, N>, T>(result);
 
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
Tensors class implemented by Walter Landry.
void T3dg_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim01 > &, const Number< Dim2 > &)
void T3dg_plus_equals_T3dg(A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Op &)
void T3ch_equals_generic(A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim12 > &, const Number< Dim0 > &)
void T4ddgrhs0_equals_T3dg(A &iter, const Dg_Expr< B, U, Dim23, Dim1, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< N > &)
void T3dg_equals_T3dg(A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
void T3ch_equals_T3dg(A &iter, const Dg_Expr< B, U, Dim12, Dim0, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Op &)
static void op(L &l, R &&r)
static void op(L &l, R &&r)
static void op(L &l, R &&r)
static void op(L &l, R &&r)
static void op(L &l, R &&r)