8#ifndef QDP_QDPSUBTYPE_H
9#define QDP_QDPSUBTYPE_H
20template<
class T,
class C>
63 template<
class T1,
class C1>
76 template<
class T1,
class C1>
104 for(
int j=0; j < rhs.
subset().numSiteTable(); ++j) {
111 QDP_error_exit(
"assignment of two view subtypes is not supported");
115 template<
class T1,
class C1>
139 template<
class T1,
class C1>
151 template<
class T1,
class C1>
175 template<
class T1,
class C1>
187 template<
class T1,
class C1>
211 template<
class T1,
class C1>
223 template<
class T1,
class C1>
247 template<
class T1,
class C1>
259 template<
class T1,
class C1>
283 template<
class T1,
class C1>
295 template<
class T1,
class C1>
319 template<
class T1,
class C1>
331 template<
class T1,
class C1>
355 template<
class T1,
class C1>
367 template<
class T1,
class C1>
391 template<
class T1,
class C1>
403 template<
class T1,
class C1>
427 template<
class T1,
class C1>
439 template<
class T1,
class C1>
464 template<
class T1,
class C1>
476 template<
class T1,
class C1>
498 T*
getF()
const {
return static_cast<CC
const *
>(
this)->
getF();}
Expression class for QDP.
QDPSubType - type representing a field living on a subset.
const Subset & subset() const
QDPSubType(const QDPSubType &)
Copy constructor.
void operator-=(const typename WordType< C >::Type_t &rhs)
void operator/=(const QDPExpr< T1, C1 > &rhs)
void operator+=(const typename WordType< C >::Type_t &rhs)
void assign(const QDPType< T1, C1 > &rhs)
void assign(const Zero &)
void operator^=(const QDPType< T1, C1 > &rhs)
void operator&=(const QDPExpr< T1, C1 > &rhs)
void operator<<=(const QDPExpr< T1, C1 > &rhs)
void assign(const typename WordType< C >::Type_t &rhs)
void operator%=(const QDPExpr< T1, C1 > &rhs)
void operator%=(const QDPType< T1, C1 > &rhs)
QDPSubType()
Default constructor.
void operator>>=(const QDPType< T1, C1 > &rhs)
void operator^=(const typename WordType< C >::Type_t &rhs)
void operator%=(const typename WordType< C >::Type_t &rhs)
void operator<<=(const QDPType< T1, C1 > &rhs)
void assign(const QDPExpr< T1, C1 > &rhs)
void operator>>=(const QDPExpr< T1, C1 > &rhs)
void operator-=(const QDPType< T1, C1 > &rhs)
bool getOwnsMemory() const
void operator>>=(const typename WordType< C >::Type_t &rhs)
void operator*=(const typename WordType< C >::Type_t &rhs)
void operator&=(const QDPType< T1, C1 > &rhs)
void operator<<=(const typename WordType< C >::Type_t &rhs)
void assign(const QDPSubType< T1, C1 > &rhs)
void operator|=(const typename WordType< C >::Type_t &rhs)
void operator|=(const QDPExpr< T1, C1 > &rhs)
void operator+=(const QDPType< T1, C1 > &rhs)
void operator|=(const QDPType< T1, C1 > &rhs)
void operator&=(const typename WordType< C >::Type_t &rhs)
void operator/=(const typename WordType< C >::Type_t &rhs)
void operator^=(const QDPExpr< T1, C1 > &rhs)
void operator+=(const QDPExpr< T1, C1 > &rhs)
void operator*=(const QDPType< T1, C1 > &rhs)
void operator*=(const QDPExpr< T1, C1 > &rhs)
void operator-=(const QDPExpr< T1, C1 > &rhs)
void operator/=(const QDPType< T1, C1 > &rhs)
QDPType - major type class/container for all QDP objects.
Subsets - controls how lattices are looped.
const multi1d< int > & siteTable() const
const T * slice() const
Return ref to a column slice.
void zero_rep(IScalar< T > &dest)
dest = 0
void evaluate(OLattice< DCol > &d, const OpAssign &op, const QDPExpr< BinaryNode< OpMultiply, Reference< QDPType< DCol, OLattice< DCol > > >, Reference< QDPType< DCol, OLattice< DCol > > > >, OLattice< DCol > > &rhs, const Subset &s)
OLattice< PScalar< PColorMatrix< RComplexFloat, 3 > > > C
Yet another random number generator.
void QDP_error_exit(const char *format,...)
Simple error display and abort routine.
MakeReturn< UnaryNode< OpIdentity, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpIdentity >::Type_t >::Expression_t PETE_identity(const QDPExpr< T1, C1 > &l)
void evaluate_F(T *dest, const Op &op, const QDPExpr< RHS, OScalar< T1 > > &rhs, const Subset &s)
void zero_rep_F(T *dest, const Subset &s)
Construct simple word type. Default behavior is empty.