19 template<
class T, 
unsigned Dim> 
class BareField;
 
   20 template<
class T, 
unsigned Dim> 
class LField;
 
   26 #define ASSIGNMSG(x) x 
   46 template <
bool IsExpr>
 
   60 template<
class T, 
unsigned Dim, 
class RHS, 
class OP>
 
   65 template<
class T1, 
unsigned Dim, 
class RHS, 
class OP>
 
   71 template<
class T1, 
unsigned Dim, 
class RHS, 
class OP>
 
   74   assign(a, b, op, et, 
true);
 
   80 template<
class A, 
class RHS, 
class OP, 
class Tag, 
class TP>
 
   83   assign(lhs, rhs, op, tag, 
true);
 
   87 template<
class A, 
class RHS, 
class OP, 
class Tag, 
class TP>
 
   94 template<
class A, 
class RHS, 
class OP, 
class Tag, 
class TP>
 
  101 template<
class T1, 
unsigned D1, 
class RHS, 
class Op>
 
  106 template<
class T1, 
unsigned D1, 
class RHS, 
class Op>
 
  113 template<
class T, 
unsigned D, 
class OP>
 
  120 template<
class T, 
unsigned D, 
class OP>
 
  138 #define ASSIGNMENT_OPERATORS(FUNC,OP)                           \ 
  140 template<class LHS, class RHS>                                  \ 
  142 FUNC(const PETE_Expr<LHS>& lhs, const PETE_Expr<RHS>& rhs)      \ 
  144   assign(lhs.PETE_unwrap(), rhs.PETE_unwrap().MakeExpression(), \ 
  145          OP(),ExprTag< IsExprTrait<RHS>::IsExpr >());           \ 
  148 template<class T, unsigned D>                                   \ 
  150 FUNC(const IndexedBareField<T,D,D>& lhs, const T& rhs)          \ 
  152   assign(lhs,PETE_Scalar<T>(rhs), OP(),ExprTag<true>(),true);   \ 
  155 template<class T, unsigned D>                                   \ 
  157 FUNC(const BareField<T,D>& lhs, const T& rhs)                   \ 
  159   assign(lhs,PETE_Scalar<T>(rhs),OP(),ExprTag<true>());         \ 
  162 template<class A, class TP>                                     \ 
  164 FUNC(const PETE_TUTree<OpParens<TP>,A>& lhs, const bool& rhs)   \ 
  166   assign(lhs,PETE_Scalar<bool>(rhs),OP(),ExprTag<true>());      \ 
  168 template<class A, class TP>                                     \ 
  170 FUNC(const PETE_TUTree<OpParens<TP>,A>& lhs, const char& rhs)   \ 
  172   assign(lhs,PETE_Scalar<char>(rhs),OP(),ExprTag<true>());      \ 
  174 template<class A, class TP>                                     \ 
  176 FUNC(const PETE_TUTree<OpParens<TP>,A>& lhs, const int& rhs)    \ 
  178   assign(lhs,PETE_Scalar<int>(rhs),OP(),ExprTag<true>());       \ 
  180 template<class A,class TP>                                      \ 
  182 FUNC(const PETE_TUTree<OpParens<TP>,A>& lhs, const float& rhs)  \ 
  184   assign(lhs,PETE_Scalar<float>(rhs),OP(),ExprTag<true>());     \ 
  186 template<class A, class TP>                                     \ 
  188 FUNC(const PETE_TUTree<OpParens<TP>,A>& lhs, const double& rhs) \ 
  190   assign(lhs,PETE_Scalar<double>(rhs),OP(),ExprTag<true>());    \ 
  192 template<class A, class TP>                                     \ 
  194 FUNC(const PETE_TUTree<OpParens<TP>,A>& lhs, const dcomplex& rhs)\ 
  196   assign(lhs,PETE_Scalar<dcomplex>(rhs),OP(),ExprTag<true>());  \ 
  201 template<
class LHS>                                                     \
 
  208 template<class LHS>                                                     \
 
  215 template<class LHS>                                                     \
 
  238 template<class 
T, 
unsigned Dim, class A, class Op>
 
  243 #include "Field/Assign.hpp" 
void mineq(const PETE_Expr< LHS > &lhs, const PETE_Expr< RHS > &rhs)
void maxeq(const PETE_Expr< LHS > &lhs, const PETE_Expr< RHS > &rhs)
std::complex< double > dcomplex
void assign(const BareField< T, Dim > &a, RHS b, OP op, ExprTag< true >)
#define ASSIGNMENT_OPERATORS(FUNC, OP)
bool TryCompressLHS(LField< T, Dim > &, A &, Op, const NDIndex< Dim > &)