9  template <
class A, 
class B, 
class U, 
int Current_Dim0, 
int Current_Dim1,
 
   10            int Current_Dim2, 
int Current_Dim3, 
int Dim01, 
int Dim23, 
char i,
 
   11            char j, 
char k, 
char l>
 
   20    iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
 
   22      = result(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
 
 
   29  template <
class A, 
class B, 
class U, 
int Current_Dim1, 
int Current_Dim2,
 
   30            int Current_Dim3, 
int Dim01, 
int Dim23, 
char i, 
char j, 
char k,
 
   39    iter(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1)
 
   40      = result(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1);
 
 
   46  template <
class A, 
class B, 
class U, 
int Current_Dim2, 
int Current_Dim3,
 
   47            int Dim01, 
int Dim23, 
char i, 
char j, 
char k, 
char l>
 
   55    iter(0, 0, Current_Dim2 - 1, Current_Dim3 - 1)
 
   56      = result(0, 0, Current_Dim2 - 1, Current_Dim3 - 1);
 
 
   61  template <
class A, 
class B, 
class U, 
int Current_Dim3, 
int Dim01, 
int Dim23,
 
   62            char i, 
char j, 
char k, 
char l>
 
   69    iter(0, 0, 0, Current_Dim3 - 1) = result(0, 0, 0, Current_Dim3 - 1);
 
 
   74  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim23, 
char i, 
char j,
 
   82    iter(0, 0, 0, 0) = result(0, 0, 0, 0);
 
 
   85  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
   86            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
   87  template <
class B, 
class U>
 
   88  Ddg_Expr<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T, Dim01, Dim23, 
i, 
j, 
k, 
l> &
 
   97  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
   98            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  110    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
  116    template <
typename L, 
typename R> 
static inline void op(L &
l, 
R &&r) {
 
 
 
  121  template <
class A, 
class B, 
class U, 
int Current_Dim0, 
int Current_Dim1,
 
  122            int Current_Dim2, 
int Current_Dim3, 
int Dim01, 
int Dim23, 
char i,
 
  123            char j, 
char k, 
char l, 
class Op>
 
  129    Op::op(iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
 
  131      result(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
 
 
  138  template <
class A, 
class B, 
class U, 
int Current_Dim1,
 
  139            int Current_Dim2, 
int Current_Dim3, 
int Dim01, 
int Dim23, 
char i,
 
  140            char j, 
char k, 
char l, 
class Op>
 
  145    Op::op(iter(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1),
 
  146       result(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1));
 
 
  152  template <
class A, 
class B, 
class U, 
int Current_Dim2,
 
  153            int Current_Dim3, 
int Dim01, 
int Dim23, 
char i, 
char j, 
char k,
 
  159    Op::op(iter(0, 0, Current_Dim2 - 1, Current_Dim3 - 1),
 
  160           result(0, 0, Current_Dim2 - 1, Current_Dim3 - 1));
 
 
  166  template <
class A, 
class B, 
class U, 
int Current_Dim3, 
int Dim01,
 
  167            int Dim23, 
char i, 
char j, 
char k, 
char l, 
class Op>
 
  172    Op::op(iter(0, 0, 0, Current_Dim3 - 1), result(0, 0, 0, Current_Dim3 - 1));
 
 
  178  template <
class A, 
class B, 
class U, 
int Dim01, 
int Dim23, 
char i, 
char j,
 
  179            char k, 
char l, 
class Op>
 
  186    Op::op(iter(0, 0, 0, 0), result(0, 0, 0, 0));
 
 
  189  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
  190            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  191  template <
class B, 
class U>
 
  192  Ddg_Expr<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T, Dim01, Dim23, 
i, 
j, 
k, 
l> &
 
  202  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
  203            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  212  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
  213            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  214  template <
class B, 
class U>
 
  225  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
  226            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  237  template <
class A, 
class T, 
class U, 
int Dim01, 
int Dim23>
 
  243    template <
int Current_Dim0, 
int Current_Dim1, 
int Current_Dim2,
 
  247      iter(Current_Dim0 - 1, Current_Dim1 - 1, Current_Dim2 - 1,
 
  248           Current_Dim3 - 1) *= 
u;
 
 
  253    template <
int Current_Dim1, 
int Current_Dim2, 
int Current_Dim3>
 
  256      iter(0, Current_Dim1 - 1, Current_Dim2 - 1, Current_Dim3 - 1) *= 
u;
 
 
  261    template <
int Current_Dim2, 
int Current_Dim3>
 
  264      iter(0, 0, Current_Dim2 - 1, Current_Dim3 - 1) *= 
u;
 
 
  269    template <
int Current_Dim3>
 
  272      iter(0, 0, 0, Current_Dim3 - 1) *= 
u;
 
 
  279      iter(0, 0, 0, 0) *= 
u;
 
 
 
  291  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
  292            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  294  Ddg_Expr<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T, Dim01, Dim23, 
i, 
j, 
k, 
l> &
 
  296  operator*=(
const U &
d) {
 
 
  301  template <
class A, 
class T, 
class U, 
int Dim01, 
int Dim23>
 
  307    template <
int Current_Dim0, 
int Current_Dim1, 
int Current_Dim2,
 
  317    template <
int Current_Dim1, 
int Current_Dim2, 
int Current_Dim3>
 
  326    template <
int Current_Dim2, 
int Current_Dim3>
 
  335    template <
int Current_Dim3>
 
 
  357  template <
class A, 
class T, 
int Tensor_Dim01, 
int Tensor_Dim23, 
int Dim01,
 
  358            int Dim23, 
char i, 
char j, 
char k, 
char l>
 
  360  Ddg_Expr<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T, Dim01, Dim23, 
i, 
j, 
k, 
l> &
 
  361  Ddg_Expr<Ddg<A, Tensor_Dim01, Tensor_Dim23>, T, Dim01, Dim23, 
i, 
j, 
k,
 
  362           l>::operator=(
const U &
d) {
 
 
void eval(const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
void eval(const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
void eval(const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
T4Ddg_equals_generic(Ddg< A, Dim01, Dim23 > &a, const U &b)
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
Ddg< A, Dim01, Dim23 > & iter
void eval(const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
void eval(const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
void eval(const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
Ddg< A, Dim01, Dim23 > & iter
void eval(const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
void eval(const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
void eval(const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
T4Ddg_times_equals_generic(Ddg< A, Dim01, Dim23 > &a, const U &b)
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.
const Tensor1_Expr< const dTensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d(const Tensor0< T * > &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
void T4ddg_plus_equals_T4ddg(A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &, const Op &)
void T4ddg_equals_T4ddg(A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
static void op(L &l, R &&r)
static void op(L &l, R &&r)