7#ifndef QDP_PRIMSCALAR_H
8#define QDP_PRIMSCALAR_H
159 const T&
elem()
const {
return F;}
172 return s >> d.
elem();
180 return s >> d.
elem();
189 return s << d.
elem();
197 return s << d.
elem();
205 return txt >> d.
elem();
213 return txt << d.
elem();
216#ifdef QDP_USE_LIBXML2
220XMLWriter&
operator<<(XMLWriter& xml,
const PScalar<T>& d)
222 return xml << d.elem();
230 read(xml, path, d.elem());
291template<
class T1,
class Op>
297template<
class T1,
class T2,
class Op>
304template<
class T1,
class T2>
312template<
class T1,
class T2 >
317template<
class T1,
class T2>
322template<
class T1,
class T2>
327template<
class T1,
class T2>
332template<
class T1,
class T2>
337template<
class T1,
class T2>
342template<
class T1,
class T2>
347template<
class T1,
class T2>
352template<
class T1,
class T2>
357template<
class T1,
class T2>
362template<
class T1,
class T2>
409template<
class T1,
class T2>
417template<
class T1,
class T2>
425template<
class T1,
class T2>
433template<
class T1,
class T2>
441template<
class T1,
class T2>
449template<
class T1,
class T2>
457template<
class T1,
class T2>
465template<
class T1,
class T2>
474template<
class T1,
class T2 >
479template<
class T1,
class T2>
487template<
class T1,
class T2 >
492template<
class T1,
class T2>
500template<
class T1,
class T2>
508template<
class T1,
class T2>
516template<
class T1,
class T2>
524template<
class T1,
class T2>
533template<
class T1,
class T2 >
538template<
class T1,
class T2>
546template<
class T1,
class T2 >
551template<
class T1,
class T2>
559template<
class T1,
class T2 >
564template<
class T1,
class T2>
572template<
class T1,
class T2 >
577template<
class T1,
class T2>
585template<
class T1,
class T2 >
590template<
class T1,
class T2>
598template<
class T1,
class T2 >
603template<
class T1,
class T2>
611template<
class T1,
class T2>
616template<
class T1,
class T2>
624template<
class T1,
class T2>
629template<
class T1,
class T2>
721template<
class T1,
class T2>
729template<
class T1,
class T2>
737template<
class T1,
class T2>
745template<
class T1,
class T2>
753template<
class T1,
class T2>
965template<
class T1,
class T2>
973template<
class T1,
class T2>
982template<
class T1,
class T2>
1066template<
class T1,
class T2>
1076template<
class T1,
class T2>
1086template<
class T1,
class T2>
1096template<
class T1,
class T2>
1107template<
class T2,
int N,
int m>
1111 return l * r.
elem();
1115template<
class T2,
int N,
int m>
1119 return l.
elem() * r;
1278template<
class T1,
class T2>
1285template<
class T1,
class T2>
1292template<
class T1,
class T2>
1299template<
class T1,
class T2>
1306template<
class T1,
class T2>
1313template<
class T1,
class T2>
1328template<
class T1,
class T2,
class T3>
1333template<
class T1,
class T2,
class T3>
1344template<
class T1,
class T2>
1349template<
class T1,
class T2>
1361template<
class T1,
class T2>
1366template<
class T1,
class T2>
1377template<
class T,
class T1>
1385template<
class T,
class T1,
class T2>
1471template<
class T1,
class T2>
1476template<
class T1,
class T2>
1481template<
class T1,
class T2>
1490template<
class T1,
class T2>
1495template<
class T1,
class T2>
1500template<
class T1,
class T2>
1509template<
class T1,
class T2>
1514template<
class T1,
class T2>
1527template<
class T1,
class T2,
class T3>
1532template<
class T1,
class T2,
class T3>
1575inline typename WordType< PScalar<T> >
::Type_t
1593template<
class T,
class T1>
1601template<
class T,
class T1>
1609template<
class T,
class T1>
1617template<
class T,
class T1>
PScalar(const PScalar &a)
Deep copies here.
PScalar & operator%=(const PScalar< T1 > &rhs)
PScalar %= PScalar.
PScalar & operator-=(const PScalar< T1 > &rhs)
PScalar -= PScalar.
PScalar & operator+=(const PScalar< T1 > &rhs)
PScalar += PScalar.
PScalar & operator*=(const PScalar< T1 > &rhs)
PScalar *= PScalar.
PScalar & operator>>=(const PScalar< T1 > &rhs)
PScalar >>= PScalar.
PScalar & operator|=(const PScalar< T1 > &rhs)
PScalar |= PScalar.
PScalar & operator^=(const PScalar< T1 > &rhs)
PScalar ^= PScalar.
PScalar(const typename WordType< T >::Type_t &rhs)
construct dest = const
PScalar & operator<<=(const PScalar< T1 > &rhs)
PScalar <<= PScalar.
PScalar & operator&=(const PScalar< T1 > &rhs)
PScalar &= PScalar.
PScalar & operator/=(const PScalar< T1 > &rhs)
PScalar /= PScalar.
PScalar(const PScalar< T1 > &rhs)
construct dest = rhs
PScalar & operator=(const PScalar< T1 > &rhs)
PScalar = PScalar.
PScalar(const T1 &rhs)
construct dest = rhs
Primitive spin Vector class.
StandardOutputStream class.
UnaryReturn< C, FnGlobalMin >::Type_t globalMin(const QDPType< T, C > &s1)
OScalar = globalMin(source).
bool isnan(const QDPExpr< T, C > &s1)
bool = isnan(source)
bool isfinite(const QDPExpr< T, C > &s1)
bool = isfinite(source)
bool isnormal(const QDPExpr< T, C > &s1)
bool = isnormal(source)
bool isinf(const QDPExpr< T, C > &s1)
bool = isinf(source)
UnaryReturn< C, FnGlobalMax >::Type_t globalMax(const QDPType< T, C > &s1)
OScalar = globalMax(source).
UnaryReturn< C, FnSum >::Type_t sum(const QDPType< T, C > &s1)
OScalar = sum(source).
void gather_sites(ILattice< T, 2 > &d, const ILattice< T1, 2 > &s0, int i0, const ILattice< T1, 2 > &s1, int i1)
gather several inner sites together
TextWriter & operator<<(TextWriter &txt, const std::string &output)
TextReader & operator>>(TextReader &txt, std::string &input)
void read(BinaryReader &bin, std::string &input, size_t maxBytes)
void fill_gaussian(IScalar< T > &d, IScalar< T > &r1, IScalar< T > &r2)
dest = gaussian
void copy_site(IScalar< T > &d, int isite, const IScalar< T1 > &s1)
dest [some type] = source [some type]
int toInt(const IScalar< T > &s)
QDP Int to int primitive in conversion routine.
WordType< IScalar< T > > toWordType(const IScalar< T > &s)
QDP Wordtype to primitive wordtype.
void zero_rep(IScalar< T > &dest)
dest = 0
void copymask(IScalar< T > &d, const IScalar< T1 > &mask, const IScalar< T > &s1)
dest = (mask) ? s1 : dest
double toDouble(const IScalar< T > &s)
QDP Double to double primitive in conversion routine.
BinaryReturn< IScalar< T1 >, IScalar< T2 >, OpAdjMultiplyAdj >::Type_t adjMultiplyAdj(const IScalar< T1 > &l, const IScalar< T2 > &r)
bool toBool(const IScalar< T > &s)
QDP Boolean to bool primitive in conversion routine.
BinaryReturn< IScalar< T1 >, IScalar< T2 >, OpMultiplyAdj >::Type_t multiplyAdj(const IScalar< T1 > &l, const IScalar< T2 > &r)
void cast_rep(T &d, const IScalar< T1 > &s1)
dest [float type] = source [int type]
BinaryReturn< IScalar< T1 >, IScalar< T2 >, OpAdjMultiply >::Type_t adjMultiply(const IScalar< T1 > &l, const IScalar< T2 > &r)
UnaryReturn< IScalar< T >, FnGetSite >::Type_t getSite(const IScalar< T > &s1, int innersite)
float toFloat(const IScalar< T > &s)
QDP Real to float primitive in conversion routine.
BinaryReturn< PColorMatrix< T1, N >, PColorMatrix< T2, N >, FnTraceColorMultiply >::Type_t traceColorMultiply(const PColorMatrix< T1, N > &l, const PColorMatrix< T2, N > &r)
BinaryReturn< PMatrix< T1, N, C >, PMatrix< T2, N, C >, FnTraceMultiply >::Type_t traceMultiply(const PMatrix< T1, N, C > &l, const PMatrix< T2, N, C > &r)
BinaryReturn< PMatrix< T1, N, C >, PMatrix< T2, N, C >, FnTraceSpinMultiply >::Type_t traceSpinMultiply(const PMatrix< T1, N, C > &l, const PMatrix< T2, N, C > &r)
BinaryReturn< PScalar< T1 >, PScalar< T2 >, FnTraceSpinOuterProduct >::Type_t traceSpinOuterProduct(const PScalar< T1 > &l, const PScalar< T2 > &r)
PScalar = traceSpin(outerProduct(PScalar, PScalar)).
Yet another random number generator.
MakeReturn< UnaryNode< FnTraceSpin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceSpin >::Type_t >::Expression_t traceSpin(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnColorCrossProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnColorCrossProduct >::Type_t >::Expression_t colorCrossProduct(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnAdjoint, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnAdjoint >::Type_t >::Expression_t adj(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnPow, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnPow >::Type_t >::Expression_t pow(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnReal, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnReal >::Type_t >::Expression_t real(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnTimesMinusI, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesMinusI >::Type_t >::Expression_t timesMinusI(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir2Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Minus >::Type_t >::Expression_t spinProjectDir2Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< TrinaryNode< FnWhere, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t, typenameCreateLeaf< typenameSimpleScalar< typenameWordType< C1 >::Type_t >::Type_t >::Leaf_t >, typenameTrinaryReturn< C1, C2, typenameSimpleScalar< typenameWordType< C1 >::Type_t >::Type_t, FnWhere >::Type_t >::Expression_t where(const QDPType< T1, C1 > &a, const QDPType< T2, C2 > &b, const typename WordType< C1 >::Type_t &c)
MakeReturn< UnaryNode< FnSeedToFloat, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSeedToFloat >::Type_t >::Expression_t seedToFloat(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnPeekColorMatrix, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, C1 >::Expression_t peekColor(const QDPExpr< T1, C1 > &l, int row, int col)
MakeReturn< TrinaryNode< FnColorContract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t, typenameCreateLeaf< typenameSimpleScalar< typenameWordType< C1 >::Type_t >::Type_t >::Leaf_t >, typenameTrinaryReturn< C1, C2, typenameSimpleScalar< typenameWordType< C1 >::Type_t >::Type_t, FnColorContract >::Type_t >::Expression_t colorContract(const QDPType< T1, C1 > &a, const QDPType< T2, C2 > &b, const typename WordType< C1 >::Type_t &c)
MakeReturn< UnaryNode< FnSpinProjectDir1Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Minus >::Type_t >::Expression_t spinProjectDir1Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnHypSin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypSin >::Type_t >::Expression_t sinh(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpEQ, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpEQ >::Type_t >::Expression_t operator==(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpGT, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpGT >::Type_t >::Expression_t operator>(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnTimesI, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesI >::Type_t >::Expression_t timesI(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir0Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Plus >::Type_t >::Expression_t spinProjectDir0Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir2Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Minus >::Type_t >::Expression_t spinReconstructDir2Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnHypTan, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypTan >::Type_t >::Expression_t tanh(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnFabs, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFabs >::Type_t >::Expression_t fabs(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnRealTrace, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnRealTrace >::Type_t >::Expression_t realTrace(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnTrace, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTrace >::Type_t >::Expression_t trace(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpMultiply, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMultiply >::Type_t >::Expression_t operator*(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< FnLocalInnerProductReal, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalInnerProductReal >::Type_t >::Expression_t localInnerProductReal(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< FnQuarkContract14, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract14 >::Type_t >::Expression_t quarkContract14(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnHypCos, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypCos >::Type_t >::Expression_t cosh(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpAdd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAdd >::Type_t >::Expression_t operator+(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSpinReconstructDir2Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Plus >::Type_t >::Expression_t spinReconstructDir2Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir3Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Minus >::Type_t >::Expression_t spinProjectDir3Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnCos, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCos >::Type_t >::Expression_t cos(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpSubtract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpSubtract >::Type_t >::Expression_t operator-(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpMod, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMod >::Type_t >::Expression_t operator%(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< FnQuarkContract12, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract12 >::Type_t >::Expression_t quarkContract12(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSpinReconstructDir0Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Plus >::Type_t >::Expression_t spinReconstructDir0Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnArcTan, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcTan >::Type_t >::Expression_t atan(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnArcTan2, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnArcTan2 >::Type_t >::Expression_t atan2(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnTraceColor, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceColor >::Type_t >::Expression_t traceColor(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnConjugate, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnConjugate >::Type_t >::Expression_t conj(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnQuarkContract34, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract34 >::Type_t >::Expression_t quarkContract34(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSpinReconstructDir1Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Plus >::Type_t >::Expression_t spinReconstructDir1Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnFloor, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFloor >::Type_t >::Expression_t floor(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnColorVectorContract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnColorVectorContract >::Type_t >::Expression_t colorVectorContract(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< OpNot, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpNot >::Type_t >::Expression_t operator!(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir1Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Minus >::Type_t >::Expression_t spinReconstructDir1Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir2Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Plus >::Type_t >::Expression_t spinProjectDir2Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnOuterProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnOuterProduct >::Type_t >::Expression_t outerProduct(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< FnLocalColorInnerProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalColorInnerProduct >::Type_t >::Expression_t localColorInnerProduct(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpBitwiseAnd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseAnd >::Type_t >::Expression_t operator&(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< FnLocalInnerProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalInnerProduct >::Type_t >::Expression_t localInnerProduct(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnArcSin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcSin >::Type_t >::Expression_t asin(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnExp, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnExp >::Type_t >::Expression_t exp(const QDPExpr< T1, C1 > &l)
C1 & pokeColor(QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r, int row, int col)
MakeReturn< UnaryNode< FnPeekSpinMatrix, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, C1 >::Expression_t peekSpin(const QDPExpr< T1, C1 > &l, int row, int col)
MakeReturn< UnaryNode< FnSpinProjectDir3Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Plus >::Type_t >::Expression_t spinProjectDir3Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpAnd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAnd >::Type_t >::Expression_t operator&&(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpGE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpGE >::Type_t >::Expression_t operator>=(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnTransposeSpin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeSpin >::Type_t >::Expression_t transposeSpin(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnLog10, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog10 >::Type_t >::Expression_t log10(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpBitwiseOr, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseOr >::Type_t >::Expression_t operator|(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSpinReconstructDir3Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Minus >::Type_t >::Expression_t spinReconstructDir3Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnCmplx, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnCmplx >::Type_t >::Expression_t cmplx(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpDivide, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpDivide >::Type_t >::Expression_t operator/(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSin >::Type_t >::Expression_t sin(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnArcCos, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcCos >::Type_t >::Expression_t acos(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnCeil, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCeil >::Type_t >::Expression_t ceil(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnTranspose, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTranspose >::Type_t >::Expression_t transpose(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir0Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Minus >::Type_t >::Expression_t spinReconstructDir0Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnImag, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImag >::Type_t >::Expression_t imag(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnChiralProjectMinus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnChiralProjectMinus >::Type_t >::Expression_t chiralProjectMinus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpLT, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLT >::Type_t >::Expression_t operator<(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpNE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpNE >::Type_t >::Expression_t operator!=(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< BinaryNode< OpOr, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpOr >::Type_t >::Expression_t operator||(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSqrt, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSqrt >::Type_t >::Expression_t sqrt(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnTan, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTan >::Type_t >::Expression_t tan(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnQuarkContract23, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract23 >::Type_t >::Expression_t quarkContract23(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnImagTrace, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImagTrace >::Type_t >::Expression_t imagTrace(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnChiralProjectPlus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnChiralProjectPlus >::Type_t >::Expression_t chiralProjectPlus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpLE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLE >::Type_t >::Expression_t operator<=(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSpinProjectDir0Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Minus >::Type_t >::Expression_t spinProjectDir0Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpBitwiseXor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseXor >::Type_t >::Expression_t operator^(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
void fill_random(float &d, T1 &seed, T2 &skewed_seed, const T1 &seed_mult)
dest = random
MakeReturn< BinaryNode< FnQuarkContract13, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract13 >::Type_t >::Expression_t quarkContract13(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnLocalNorm2, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLocalNorm2 >::Type_t >::Expression_t localNorm2(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< FnQuarkContract24, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract24 >::Type_t >::Expression_t quarkContract24(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnLog, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog >::Type_t >::Expression_t log(const QDPExpr< T1, C1 > &l)
C1 & pokeSpin(QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r, int row, int col)
MakeReturn< UnaryNode< FnSpinReconstructDir3Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Plus >::Type_t >::Expression_t spinReconstructDir3Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir1Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Plus >::Type_t >::Expression_t spinProjectDir1Plus(const QDPExpr< T1, C1 > &l)
PScalar< typename BinaryReturn< T1, T2, FnColorCrossProduct >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, FnColorVectorContract >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, FnInnerProductReal >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, FnInnerProduct >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, FnLocalColorInnerProduct >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, FnLocalInnerProductReal >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpAnd >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpEQ >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpGE >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpGT >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpLE >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpLT >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpLeftShift >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpNE >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpOr >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, OpRightShift >::Type_t > Type_t
PScalar< typename BinaryReturn< T1, T2, Op >::Type_t > Type_t
PScalar< typename DoublePrecType< T >::Type_t > Type_t
PScalar< typename InternalScalar< T >::Type_t > Type_t
Construct simple word type used at some level within primitives.
PScalar< typename LatticeScalar< T >::Type_t > Type_t
Makes a lattice scalar leaving primitive indices alone.
PScalar< typename PrimitiveScalar< T >::Type_t > Type_t
Makes a primitive scalar leaving grid alone.
PScalar< typename RealScalar< T >::Type_t > Type_t
Construct simple word type used at some level within primitives.
PScalar< typename SinglePrecType< T >::Type_t > Type_t
PScalar< typename TrinaryReturn< T1, T2, T3, FnColorContract >::Type_t > Type_t
PScalar< typename TrinaryReturn< T1, T2, T3, FnWhere >::Type_t > Type_t
PScalar< typename UnaryReturn< T1, Op >::Type_t > Type_t
PScalar< typename UnaryReturn< T, FnGlobalMax >::Type_t > Type_t
PScalar< typename UnaryReturn< T, FnGlobalMin >::Type_t > Type_t
PScalar< typename UnaryReturn< T, FnLocalNorm2 >::Type_t > Type_t
PScalar< typename UnaryReturn< T, FnNorm2 >::Type_t > Type_t
PScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > Type_t
PScalar< typename UnaryReturn< T, FnSum >::Type_t > Type_t
PScalar< typename UnaryReturn< T, OpNot >::Type_t > Type_t
WordType< T >::Type_t Type_t
Find the underlying word type of a field.