163 const T&
elem()
const {
return F;}
176 return s >> d.
elem();
184 return s >> d.
elem();
192 return s << d.
elem();
200 return s << d.
elem();
209 return s >> d.
elem();
217 return s << d.
elem();
220#ifdef QDP_USE_LIBXML2
224XMLWriter&
operator<<(XMLWriter& xml,
const RScalar<T>& d)
226 return xml << d.elem();
234 read(xml, path, d.elem());
259 template<
class T1,
class T2>
263 template<
class T1,
class T2>
264 RComplex(
const T1& _re,
const T2& _im): re(_re), im(_im) {}
381 const T&
real()
const {
return re;}
384 const T&
imag()
const {
return im;}
397 s <<
"( " << d.
real() <<
" , " << d.
imag() <<
" )";
406 s <<
"( " << d.
real() <<
" , " << d.
imag() <<
" )";
426#ifdef QDP_USE_LIBXML2
430XMLWriter&
operator<<(XMLWriter& xml,
const RComplex<T>& d)
447 std::ostringstream error_message;
450 std::string path_real = xpath +
"/re";
453 std::string path_imag = xpath +
"/im";
457 read(xml, path_real, d.real());
459 catch(
const std::string &e) {
460 error_message <<
"XPath Query: " << xpath <<
" Error: "
461 <<
"Failed to match real part of RComplex Object with self constructed path: " << path_real;
463 throw error_message.str();
468 read(xml, path_imag, d.imag());
470 catch(
const std::string &e) {
471 error_message <<
"XPath Query: " << xpath <<
" Error:"
472 <<
"Failed to match imaginary part of RComplex Object with self constructed path: " << path_imag;
474 throw error_message.str();
576template<
class T1,
class Op>
582template<
class T1,
class Op>
588template<
class T1,
class T2,
class Op>
594template<
class T1,
class T2,
class Op>
600template<
class T1,
class T2,
class Op>
606template<
class T1,
class T2,
class Op>
616template<
class T1,
class T2>
624template<
class T1,
class T2>
629template<
class T1,
class T2>
634template<
class T1,
class T2>
639template<
class T1,
class T2>
644template<
class T1,
class T2>
649template<
class T1,
class T2>
654template<
class T1,
class T2>
659template<
class T1,
class T2>
664template<
class T1,
class T2>
669template<
class T1,
class T2>
674template<
class T1,
class T2,
class T3>
681template<
int N,
int m,
class T2,
class OpGammaConstMultiply>
686template<
class T2,
int N,
int m,
class OpMultiplyGammaConst>
691template<
class T2,
int N,
class OpGammaTypeMultiply>
696template<
class T2,
int N,
class OpMultiplyGammaType>
704template<
int N,
int m,
class T2,
class OpGammaConstDPMultiply>
709template<
class T2,
int N,
int m,
class OpMultiplyGammaConstDP>
714template<
class T2,
int N,
class OpGammaTypeDPMultiply>
719template<
class T2,
int N,
class OpMultiplyGammaTypeDP>
728template<
int N,
int m,
class T2,
class OpGammaConstMultiply>
733template<
class T2,
int N,
int m,
class OpMultiplyGammaConst>
738template<
class T2,
int N,
class OpGammaTypeMultiply>
743template<
class T2,
int N,
class OpMultiplyGammaType>
750template<
int N,
int m,
class T2,
class OpGammaConstDPMultiply>
755template<
class T2,
int N,
int m,
class OpMultiplyGammaConstDP>
760template<
class T2,
int N,
class OpGammaTypeDPMultiply>
765template<
class T2,
int N,
class OpMultiplyGammaTypeDP>
772template<
class T1,
class T2 >
778template<
class T1,
class T2>
783template<
class T1,
class T2>
788template<
class T1,
class T2>
793template<
class T1,
class T2>
798template<
class T1,
class T2>
803template<
class T1,
class T2>
808template<
class T1,
class T2>
813template<
class T1,
class T2>
818template<
class T1,
class T2>
823template<
class T1,
class T2>
828template<
class T1,
class T2,
class T3>
876template<
class T1,
class T2>
884template<
class T1,
class T2>
892template<
class T1,
class T2>
900template<
class T1,
class T2>
911template<
class T1,
class T2>
922template<
class T1,
class T2>
933template<
class T1,
class T2>
942template<
class T1,
class T2 >
948template<
class T1,
class T2>
956template<
class T1,
class T2 >
962template<
class T1,
class T2>
970template<
class T1,
class T2 >
977template<
class T1,
class T2 >
984template<
class T1,
class T2 >
991template<
class T1,
class T2>
1001template<
class T1,
class T2 >
1006template<
class T1,
class T2>
1014template<
class T1,
class T2 >
1019template<
class T1,
class T2>
1027template<
class T1,
class T2 >
1032template<
class T1,
class T2>
1040template<
class T1,
class T2 >
1045template<
class T1,
class T2>
1053template<
class T1,
class T2 >
1058template<
class T1,
class T2>
1066template<
class T1,
class T2 >
1071template<
class T1,
class T2>
1079template<
class T1,
class T2>
1084template<
class T1,
class T2>
1092template<
class T1,
class T2>
1097template<
class T1,
class T2>
1195template<
class T1,
class T2>
1397template<
class T1,
class T2>
1405template<
class T1,
class T2>
1414template<
class T1,
class T2>
1510inline typename WordType< RScalar<T> >
::Type_t
1520template<
class T,
class T1>
1528template<
class T,
class T1>
1537template<
class T,
class T1>
1546template<
class T,
class T1>
1555template<
class T,
class T1>
1643template<
class T1,
class T2>
1648template<
class T1,
class T2>
1653template<
class T1,
class T2>
1663template<
class T1,
class T2>
1668template<
class T1,
class T2>
1673template<
class T1,
class T2>
1682template<
class T1,
class T2>
1687template<
class T1,
class T2>
1700template<
class T1,
class T2,
class T3>
1705template<
class T1,
class T2,
class T3>
1726template<
class T,
class T1>
1736template<
class T,
class T1>
1738copy_site(RComplex<T>& d,
int isite,
const RScalar<T1>& s1)
1747template<
class T,
class T1>
1770template<
class T,
class T1,
class T2>
1792 r2.
elem() *= S(6.283185307);
1822 return Ret_t(+l.
real(),
1834 return Ret_t(-l.
real(),
1840template<
class T1,
class T2>
1851template<
class T1,
class T2>
1862template<
class T1,
class T2>
1874template<
class T1,
class T2>
1885template<
class T1,
class T2>
1896template<
class T1,
class T2>
1908template<
class T1,
class T2>
1919template<
class T1,
class T2>
1930template<
class T1,
class T2>
1942template<
class T1,
class T2>
1961template<
class T1,
class T2>
1979template<
class T1,
class T2>
1998template<
class T1,
class T2>
2011template<
class T1,
class T2>
2017 T2 tmp = T2(1.0) / r.
elem();
2019 return Ret_t(l.
real() * tmp,
2024template<
class T1,
class T2>
2032 return Ret_t(l.
elem() * r.
real() * tmp,
2089 return Ret_t(l.
real(),
2100 return Ret_t(l.
real(),
2116 return Ret_t(l.
real(),
2134 return Ret_t(s1.
real(),
2169template<
class T1,
class T2>
2211template<
class T1,
class T2>
2216template<
class T1,
class T2>
2222 return Ret_t(s1.
elem(),
2241 d.imag() = s1.
elem();
2252 return Ret_t(-s1.
imag(),
2270 d.imag() = -s1.
elem();
2282 return Ret_t(s1.
imag(),
2288template<
class T1,
class T2>
2300template<
class T1,
class T2>
2312template<
class T1,
class T2>
2338template<
class T,
class T1>
2393template<
class T1,
class T2>
2398template<
class T1,
class T2>
2403template<
class T1,
class T2>
2416template<
class T1,
class T2>
2421template<
class T1,
class T2>
2426template<
class T1,
class T2>
2435template<
class T1,
class T2>
2440template<
class T1,
class T2>
2457template<
class T1,
class T2,
class T3>
2462template<
class T1,
class T2,
class T3>
2478template<
class T1,
class T2,
class T3>
2483template<
class T1,
class T2,
class T3>
2500template<
class T1,
class T2,
class T3>
2505template<
class T1,
class T2,
class T3>
2531template<
class T,
class T1,
class T2>
2553 r2.
real() *= S(6.283185307);
RComplex & operator=(const RComplex< T1 > &rhs)
RComplex = RComplex.
RComplex(const T1 &_re, const T2 &_im)
Construct from two scalars.
RComplex & operator-=(const RComplex< T1 > &rhs)
RComplex -= RComplex.
RComplex(const RScalar< T1 > &_re, const RScalar< T2 > &_im)
Construct from two reality scalars.
RComplex & operator-=(const RScalar< T1 > &rhs)
RComplex -= RScalar.
RComplex & operator*=(const RComplex< T1 > &rhs)
RComplex *= RComplex.
RComplex & operator/=(const RComplex< T1 > &rhs)
RComplex /= RComplex.
RComplex & operator/=(const RScalar< T1 > &rhs)
RComplex /= RScalar.
RComplex & operator+=(const RComplex< T1 > &rhs)
RComplex += RComplex.
RComplex & operator*=(const RScalar< T1 > &rhs)
RComplex *= RScalar.
RComplex & operator=(const RScalar< T1 > &rhs)
RComplex = RScalar.
RComplex & operator+=(const RScalar< T1 > &rhs)
RComplex += RScalar.
RComplex(const RComplex &a)
Deep copy constructor.
Scalar reality (not complex).
RScalar & operator=(const RScalar< T1 > &rhs)
RScalar = RScalar.
RScalar(const T1 &rhs)
construct dest = rhs
RScalar(const typename WordType< T >::Type_t &rhs)
construct dest = const
RScalar & operator<<=(const RScalar< T1 > &rhs)
RScalar <<= RScalar.
RScalar & operator*=(const RScalar< T1 > &rhs)
RScalar *= RScalar.
RScalar(const RScalar &a)
Do deep copies here.
RScalar & operator|=(const RScalar< T1 > &rhs)
RScalar |= RScalar.
RScalar(const RScalar< T1 > &rhs)
construct dest = rhs
RScalar & operator%=(const RScalar< T1 > &rhs)
RScalar %= RScalar.
RScalar & operator&=(const RScalar< T1 > &rhs)
RScalar &= RScalar.
RScalar & operator-=(const RScalar< T1 > &rhs)
RScalar -= RScalar.
RScalar & operator^=(const RScalar< T1 > &rhs)
RScalar ^= RScalar.
RScalar & operator+=(const RScalar< T1 > &rhs)
RScalar += RScalar.
RScalar & operator/=(const RScalar< T1 > &rhs)
RScalar /= RScalar.
RScalar & operator>>=(const RScalar< T1 > &rhs)
RScalar >>= RScalar.
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)
void recast_rep(IScalar< T > &d, const IScalar< T1 > &s1)
dest [float type] = source [int type]
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< PMatrix< T1, N, C >, PMatrix< T2, N, C >, FnTraceMultiply >::Type_t traceMultiply(const PMatrix< T1, N, C > &l, const PMatrix< T2, N, C > &r)
Yet another random number generator.
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< 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< 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< 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< 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< 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< 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< FnConjugate, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnConjugate >::Type_t >::Expression_t conj(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< UnaryNode< OpNot, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpNot >::Type_t >::Expression_t operator!(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)
MakeReturn< UnaryNode< FnPeekSpinMatrix, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, C1 >::Expression_t peekSpin(const QDPExpr< T1, C1 > &l, int row, int col)
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< 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< 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< FnImag, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImag >::Type_t >::Expression_t imag(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< UnaryNode< FnImagTrace, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImagTrace >::Type_t >::Expression_t imagTrace(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< 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< UnaryNode< FnLocalNorm2, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLocalNorm2 >::Type_t >::Expression_t localNorm2(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnLog, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog >::Type_t >::Expression_t log(const QDPExpr< T1, C1 > &l)
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnInnerProduct >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, FnInnerProduct >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, FnLocalColorInnerProduct >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpAddAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpBitwiseAndAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpBitwiseOrAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpBitwiseXorAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpDivideAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpLeftShiftAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpModAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpMultiplyAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpRightShiftAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, OpSubtractAssign >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, Op >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, Op >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, Op >::Type_t > Type_t
RComplex< typename BinaryReturn< T1, T2, FnCmplx >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnInnerProduct >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnInnerProduct >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnLocalColorInnerProduct >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpAddAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpAnd >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpBitwiseAndAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpBitwiseOrAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpBitwiseXorAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpDivideAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpEQ >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpGE >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpGT >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpLE >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpLT >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpLeftShiftAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpLeftShift >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpModAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpMultiplyAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpNE >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpOr >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpRightShiftAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpRightShift >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, OpSubtractAssign >::Type_t > Type_t
RScalar< typename BinaryReturn< T1, T2, Op >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RScalar< typename UnaryReturn< T2, OpUnaryPlus >::Type_t > Type_t
RComplex< typename DoublePrecType< T >::Type_t > Type_t
RScalar< typename DoublePrecType< T >::Type_t > Type_t
RScalar< typename InternalScalar< T >::Type_t > Type_t
RScalar< typename InternalScalar< T >::Type_t > Type_t
Construct simple word type used at some level within primitives.
RComplex< typename LatticeScalar< T >::Type_t > Type_t
RScalar< typename LatticeScalar< T >::Type_t > Type_t
Makes a lattice scalar leaving primitive indices alone.
RScalar< typename PrimitiveScalar< T >::Type_t > Type_t
RScalar< typename PrimitiveScalar< T >::Type_t > Type_t
Makes a primitive scalar leaving grid alone.
RScalar< typename RealScalar< T >::Type_t > Type_t
RScalar< typename RealScalar< T >::Type_t > Type_t
Construct simple word type used at some level within primitives.
RComplex< typename SinglePrecType< T >::Type_t > Type_t
RScalar< typename SinglePrecType< T >::Type_t > Type_t
RComplex< typename TrinaryReturn< T1, T2, T3, FnColorContract >::Type_t > Type_t
RComplex< typename TrinaryReturn< T1, T2, T3, FnWhere >::Type_t > Type_t
RComplex< typename TrinaryReturn< T1, T2, T3, FnWhere >::Type_t > Type_t
RComplex< typename TrinaryReturn< T1, T2, T3, FnWhere >::Type_t > Type_t
RScalar< typename TrinaryReturn< T1, T2, T3, FnColorContract >::Type_t > Type_t
RScalar< typename TrinaryReturn< T1, T2, T3, FnWhere >::Type_t > Type_t
RComplex< typename UnaryReturn< T1, Op >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnImagTrace >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnImag >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnLocalNorm2 >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnNorm2 >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnRealTrace >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnReal >::Type_t > Type_t
RComplex< typename UnaryReturn< T, FnSumMulti >::Type_t > Type_t
RComplex< typename UnaryReturn< T, FnSum >::Type_t > Type_t
RComplex< typename UnaryReturn< T, FnTrace >::Type_t > Type_t
RScalar< typename UnaryReturn< T1, Op >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnGlobalMax >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnGlobalMin >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnImagTrace >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnLocalNorm2 >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnNorm2 >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnRealTrace >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnSum >::Type_t > Type_t
RComplex< typename UnaryReturn< T, FnTimesI >::Type_t > Type_t
RComplex< typename UnaryReturn< T, FnTimesMinusI >::Type_t > Type_t
RScalar< typename UnaryReturn< T, FnTrace >::Type_t > Type_t
RScalar< typename UnaryReturn< T, OpNot >::Type_t > Type_t
WordType< T >::Type_t Type_t
WordType< T >::Type_t Type_t
Find the underlying word type of a field.