402 template<
class T1,
class T2>
413 template<
class T1,
class T2>
424 template<
class T1,
class T2>
435 template<
class T1,
class T2>
446 template<
class T1,
class T2>
457 template<
class T1,
class T2>
468 template<
class T1,
class T2>
479 template<
class T1,
class T2>
490 template<
class T1,
class T2>
501 template<
class T1,
class T2>
512 template<
class T1,
class T2>
523 template<
class T1,
class T2>
534 template<
class T1,
class T2>
545 template<
class T1,
class T2,
class T3>
557template<
class T1,
class C1>
561adj(
const QDPType<T1,C1> & l)
573template<
class T1,
class C1>
577conj(
const QDPType<T1,C1> & l)
589template<
class T1,
class C1>
605template<
class T1,
class C1>
621template<
class T1,
class C1>
637template<
class T1,
class C1>
641trace(
const QDPType<T1,C1> & l)
654template<
class T1,
class C1>
671template<
class T1,
class C1>
688template<
class T1,
class C1>
705template<
class T1,
class C1>
721template<
class T1,
class C1>
725real(
const QDPType<T1,C1> & l)
737template<
class T1,
class C1>
741imag(
const QDPType<T1,C1> & l)
756template<
class T1,
class C1>
774template<
class T1,
class C1>
778timesI(
const QDPType<T1,C1> & l)
792template<
class T1,
class C1>
810template<
class T1,
class C1>
829template<
class T1,
class C1>
848template<
class T1,
class C1>
867template<
class T1,
class C1>
886template<
class T1,
class C1>
905template<
class T1,
class C1>
924template<
class T1,
class C1>
943template<
class T1,
class C1>
962template<
class T1,
class C1>
981template<
class T1,
class C1>
1000template<
class T1,
class C1>
1019template<
class T1,
class C1>
1038template<
class T1,
class C1>
1057template<
class T1,
class C1>
1076template<
class T1,
class C1>
1095template<
class T1,
class C1>
1114template<
class T1,
class C1>
1133template<
class T1,
class C1>
1152template<
class T1,
class C1>
1168template<
class T1,
class C1>
1172acos(
const QDPType<T1,C1> & l)
1184template<
class T1,
class C1>
1188asin(
const QDPType<T1,C1> & l)
1200template<
class T1,
class C1>
1204atan(
const QDPType<T1,C1> & l)
1216template<
class T1,
class C1>
1220ceil(
const QDPType<T1,C1> & l)
1232template<
class T1,
class C1>
1236cos(
const QDPType<T1,C1> & l)
1248template<
class T1,
class C1>
1252cosh(
const QDPType<T1,C1> & l)
1264template<
class T1,
class C1>
1268exp(
const QDPType<T1,C1> & l)
1280template<
class T1,
class C1>
1284fabs(
const QDPType<T1,C1> & l)
1296template<
class T1,
class C1>
1300floor(
const QDPType<T1,C1> & l)
1312template<
class T1,
class C1>
1316log(
const QDPType<T1,C1> & l)
1328template<
class T1,
class C1>
1332log10(
const QDPType<T1,C1> & l)
1344template<
class T1,
class C1>
1348sin(
const QDPType<T1,C1> & l)
1360template<
class T1,
class C1>
1364sinh(
const QDPType<T1,C1> & l)
1376template<
class T1,
class C1>
1380sqrt(
const QDPType<T1,C1> & l)
1392template<
class T1,
class C1>
1396tan(
const QDPType<T1,C1> & l)
1408template<
class T1,
class C1>
1412tanh(
const QDPType<T1,C1> & l)
1426template<
class T1,
class C1>
1444template<
class T1,
class C1>
1462template<
class T1,
class C1>
1480template<
class T1,
class C1>
1498template<
class T1,
class C1>
1518template<
class T1,
class C1,
class T2,
class C2>
1523cmplx(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1542template<
class T1,
class C1,
class T2,
class C2>
1547outerProduct(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1566template<
class T1,
class C1,
class T2,
class C2>
1590template<
class T1,
class C1,
class T2,
class C2>
1612template<
class T1,
class C1,
class T2,
class C2>
1634template<
class T1,
class C1,
class T2,
class C2>
1656template<
class T1,
class C1,
class T2,
class C2>
1690template<
class T1,
class C1,
class T2,
class C2>
1724template<
class T1,
class C1,
class T2,
class C2>
1758template<
class T1,
class C1,
class T2,
class C2>
1792template<
class T1,
class C1,
class T2,
class C2>
1826template<
class T1,
class C1,
class T2,
class C2>
1860template<
class T1,
class C1,
class T2,
class C2>
1881template<
class T1,
class C1,
class T2,
class C2>
1886operator+(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1902template<
class T1,
class C1,
class T2,
class C2>
1907operator-(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1923template<
class T1,
class C1,
class T2,
class C2>
1928operator*(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1944template<
class T1,
class C1,
class T2,
class C2>
1949operator/(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1965template<
class T1,
class C1,
class T2,
class C2>
1970operator%(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
1986template<
class T1,
class C1,
class T2,
class C2>
1991operator&(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2007template<
class T1,
class C1,
class T2,
class C2>
2012operator|(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2028template<
class T1,
class C1,
class T2,
class C2>
2033operator^(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2050template<
class T1,
class C1,
class T2,
class C2>
2055ldexp(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2071template<
class T1,
class C1,
class T2,
class C2>
2076pow(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2093template<
class T1,
class C1,
class T2,
class C2>
2098fmod(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2115template<
class T1,
class C1,
class T2,
class C2>
2120atan2(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2136template<
class T1,
class C1,
class T2,
class C2>
2141operator<(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2157template<
class T1,
class C1,
class T2,
class C2>
2162operator<=(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2178template<
class T1,
class C1,
class T2,
class C2>
2183operator>(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2199template<
class T1,
class C1,
class T2,
class C2>
2204operator>=(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2220template<
class T1,
class C1,
class T2,
class C2>
2225operator==(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2241template<
class T1,
class C1,
class T2,
class C2>
2246operator!=(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2262template<
class T1,
class C1,
class T2,
class C2>
2267operator&&(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2284template<
class T1,
class C1,
class T2,
class C2>
2289operator||(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2305template<
class T1,
class C1,
class T2,
class C2>
2310operator<<(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2326template<
class T1,
class C1,
class T2,
class C2>
2331operator>>(
const QDPType<T1,C1> & l,
const QDPType<T2,C2> & r)
2342template<
class T1,
class C1,
class T2,
class C2>
2347cmplx(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2358template<
class T1,
class C1,
class T2,
class C2>
2374template<
class T1,
class C1,
class T2,
class C2>
2390template<
class T1,
class C1,
class T2,
class C2>
2406template<
class T1,
class C1,
class T2,
class C2>
2422template<
class T1,
class C1,
class T2,
class C2>
2438template<
class T1,
class C1,
class T2,
class C2>
2454template<
class T1,
class C1,
class T2,
class C2>
2470template<
class T1,
class C1,
class T2,
class C2>
2486template<
class T1,
class C1,
class T2,
class C2>
2502template<
class T1,
class C1,
class T2,
class C2>
2518template<
class T1,
class C1,
class T2,
class C2>
2534template<
class T1,
class C1,
class T2,
class C2>
2550template<
class T1,
class C1,
class T2,
class C2>
2566template<
class T1,
class C1,
class T2,
class C2>
2582template<
class T1,
class C1,
class T2,
class C2>
2598template<
class T1,
class C1,
class T2,
class C2>
2614template<
class T1,
class C1,
class T2,
class C2>
2630template<
class T1,
class C1,
class T2,
class C2>
2646template<
class T1,
class C1,
class T2,
class C2>
2662template<
class T1,
class C1,
class T2,
class C2>
2678template<
class T1,
class C1,
class T2,
class C2>
2683ldexp(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2694template<
class T1,
class C1,
class T2,
class C2>
2699pow(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2710template<
class T1,
class C1,
class T2,
class C2>
2715fmod(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2726template<
class T1,
class C1,
class T2,
class C2>
2731atan2(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2742template<
class T1,
class C1,
class T2,
class C2>
2747operator<(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2758template<
class T1,
class C1,
class T2,
class C2>
2763operator<=(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2774template<
class T1,
class C1,
class T2,
class C2>
2790template<
class T1,
class C1,
class T2,
class C2>
2806template<
class T1,
class C1,
class T2,
class C2>
2822template<
class T1,
class C1,
class T2,
class C2>
2838template<
class T1,
class C1,
class T2,
class C2>
2854template<
class T1,
class C1,
class T2,
class C2>
2870template<
class T1,
class C1,
class T2,
class C2>
2875operator<<(
const QDPType<T1,C1> & l,
const QDPExpr<T2,C2> & r)
2886template<
class T1,
class C1,
class T2,
class C2>
2902template<
class T1,
class C1,
class T2,
class C2>
2907cmplx(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
2918template<
class T1,
class C1,
class T2,
class C2>
2934template<
class T1,
class C1,
class T2,
class C2>
2950template<
class T1,
class C1,
class T2,
class C2>
2966template<
class T1,
class C1,
class T2,
class C2>
2982template<
class T1,
class C1,
class T2,
class C2>
2998template<
class T1,
class C1,
class T2,
class C2>
3014template<
class T1,
class C1,
class T2,
class C2>
3030template<
class T1,
class C1,
class T2,
class C2>
3046template<
class T1,
class C1,
class T2,
class C2>
3062template<
class T1,
class C1,
class T2,
class C2>
3078template<
class T1,
class C1,
class T2,
class C2>
3094template<
class T1,
class C1,
class T2,
class C2>
3110template<
class T1,
class C1,
class T2,
class C2>
3126template<
class T1,
class C1,
class T2,
class C2>
3142template<
class T1,
class C1,
class T2,
class C2>
3158template<
class T1,
class C1,
class T2,
class C2>
3174template<
class T1,
class C1,
class T2,
class C2>
3190template<
class T1,
class C1,
class T2,
class C2>
3206template<
class T1,
class C1,
class T2,
class C2>
3222template<
class T1,
class C1,
class T2,
class C2>
3238template<
class T1,
class C1,
class T2,
class C2>
3243ldexp(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3254template<
class T1,
class C1,
class T2,
class C2>
3259pow(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3270template<
class T1,
class C1,
class T2,
class C2>
3275fmod(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3286template<
class T1,
class C1,
class T2,
class C2>
3291atan2(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3302template<
class T1,
class C1,
class T2,
class C2>
3307operator<(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3318template<
class T1,
class C1,
class T2,
class C2>
3323operator<=(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3334template<
class T1,
class C1,
class T2,
class C2>
3350template<
class T1,
class C1,
class T2,
class C2>
3366template<
class T1,
class C1,
class T2,
class C2>
3382template<
class T1,
class C1,
class T2,
class C2>
3398template<
class T1,
class C1,
class T2,
class C2>
3414template<
class T1,
class C1,
class T2,
class C2>
3430template<
class T1,
class C1,
class T2,
class C2>
3435operator<<(
const QDPExpr<T1,C1> & l,
const QDPType<T2,C2> & r)
3446template<
class T1,
class C1,
class T2,
class C2>
3462template<
class T1,
class C1>
3467cmplx(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3475 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3478template<
class T1,
class C1>
3483outerProduct(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3491 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3494template<
class T1,
class C1>
3507 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3510template<
class T1,
class C1>
3523 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3526template<
class T1,
class C1>
3539 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3542template<
class T1,
class C1>
3555 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3558template<
class T1,
class C1>
3571 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3574template<
class T1,
class C1>
3587 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3590template<
class T1,
class C1>
3603 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3606template<
class T1,
class C1>
3619 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3622template<
class T1,
class C1>
3635 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3638template<
class T1,
class C1>
3651 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3654template<
class T1,
class C1>
3667 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3670template<
class T1,
class C1>
3675operator+(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3683 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3686template<
class T1,
class C1>
3691operator-(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3699 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3702template<
class T1,
class C1>
3707operator*(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3715 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3718template<
class T1,
class C1>
3723operator/(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3731 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3734template<
class T1,
class C1>
3739operator%(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3747 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3750template<
class T1,
class C1>
3755operator&(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3763 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3766template<
class T1,
class C1>
3771operator|(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3779 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3782template<
class T1,
class C1>
3787operator^(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3795 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3798template<
class T1,
class C1>
3803ldexp(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3811 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3814template<
class T1,
class C1>
3819pow(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3827 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3830template<
class T1,
class C1>
3835fmod(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3843 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3846template<
class T1,
class C1>
3851atan2(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3859 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3862template<
class T1,
class C1>
3867operator<(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3875 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3878template<
class T1,
class C1>
3883operator<=(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3891 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3894template<
class T1,
class C1>
3899operator>(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3907 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3910template<
class T1,
class C1>
3915operator>=(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3923 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3926template<
class T1,
class C1>
3931operator==(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3939 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3942template<
class T1,
class C1>
3947operator!=(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3955 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3958template<
class T1,
class C1>
3963operator&&(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3971 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3974template<
class T1,
class C1>
3979operator||(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
3987 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
3990template<
class T1,
class C1>
3995operator<<(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
4003 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
4006template<
class T1,
class C1>
4011operator>>(
const QDPType<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
4019 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
4022template<
class T2,
class C2>
4027cmplx(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4034 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4038template<
class T2,
class C2>
4043outerProduct(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4050 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4054template<
class T2,
class C2>
4066 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4070template<
class T2,
class C2>
4082 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4086template<
class T2,
class C2>
4098 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4102template<
class T2,
class C2>
4114 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4118template<
class T2,
class C2>
4130 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4134template<
class T2,
class C2>
4146 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4150template<
class T2,
class C2>
4162 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4166template<
class T2,
class C2>
4178 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4182template<
class T2,
class C2>
4194 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4198template<
class T2,
class C2>
4210 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4214template<
class T2,
class C2>
4226 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4230template<
class T2,
class C2>
4235operator+(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4242 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4246template<
class T2,
class C2>
4251operator-(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4258 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4262template<
class T2,
class C2>
4267operator*(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4274 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4278template<
class T2,
class C2>
4283operator/(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4290 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4294template<
class T2,
class C2>
4299operator%(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4306 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4310template<
class T2,
class C2>
4315operator&(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4322 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4326template<
class T2,
class C2>
4331operator|(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4338 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4342template<
class T2,
class C2>
4347operator^(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4354 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4358template<
class T2,
class C2>
4363ldexp(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4370 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4374template<
class T2,
class C2>
4379pow(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4386 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4390template<
class T2,
class C2>
4395fmod(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4402 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4406template<
class T2,
class C2>
4411atan2(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4418 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4422template<
class T2,
class C2>
4427operator<(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4434 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4438template<
class T2,
class C2>
4443operator<=(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4450 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4454template<
class T2,
class C2>
4459operator>(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4466 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4470template<
class T2,
class C2>
4475operator>=(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4482 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4486template<
class T2,
class C2>
4491operator==(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4498 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4502template<
class T2,
class C2>
4507operator!=(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4514 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4518template<
class T2,
class C2>
4523operator&&(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4530 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4534template<
class T2,
class C2>
4539operator||(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4546 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4550template<
class T1,
class C1,
class T2,
class C2>
4556colorContract(
const QDPType<T1,C1> & a,
const QDPType<T2,C2> & b,
const typename WordType<C1>::Type_t & c)
4566 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
4569template<
class T1,
class C1,
class T2,
class C2>
4575where(
const QDPType<T1,C1> & a,
const QDPType<T2,C2> & b,
const typename WordType<C1>::Type_t & c)
4585 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
4588template<
class T1,
class C1,
class T3,
class C3>
4594colorContract(
const QDPType<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const QDPType<T3,C3> & c)
4603 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
4607template<
class T1,
class C1,
class T3,
class C3>
4613where(
const QDPType<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const QDPType<T3,C3> & c)
4622 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
4626template<
class T1,
class C1>
4632colorContract(
const QDPType<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const typename WordType<C1>::Type_t & c)
4641 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
4642 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
4645template<
class T1,
class C1>
4651where(
const QDPType<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const typename WordType<C1>::Type_t & c)
4660 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
4661 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
4664template<
class T2,
class C2>
4670colorContract(
const typename WordType<C2>::Type_t & a,
const QDPType<T2,C2> & b,
const typename WordType<C2>::Type_t & c)
4678 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
4680 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(c))));
4683template<
class T2,
class C2>
4689where(
const typename WordType<C2>::Type_t & a,
const QDPType<T2,C2> & b,
const typename WordType<C2>::Type_t & c)
4697 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
4699 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(c))));
4702template<
class T3,
class C3>
4708colorContract(
const typename WordType<C3>::Type_t & a,
const typename WordType<C3>::Type_t & b,
const QDPType<T3,C3> & c)
4716 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(a)),
4717 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(b)),
4721template<
class T3,
class C3>
4727where(
const typename WordType<C3>::Type_t & a,
const typename WordType<C3>::Type_t & b,
const QDPType<T3,C3> & c)
4735 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(a)),
4736 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(b)),
4739#ifdef PETE_ALLOW_SCALAR_SHIFT
4741template<
class T2,
class C2>
4746operator<<(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4753 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4757template<
class T2,
class C2>
4762operator>>(
const typename WordType<C2>::Type_t & l,
const QDPType<T2,C2> & r)
4769 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
4792template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
4798colorContract(
const QDPType<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPType<T3,C3> & c)
4816template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
4822where(
const QDPType<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPType<T3,C3> & c)
4834#ifndef PETE_EXPRESSION_OPERATORS
4835#define PETE_EXPRESSION_OPERATORS
4837template<
class T1,
class C1>
4850template<
class T1,
class C1>
4863template<
class T1,
class C1>
4876template<
class T1,
class C1>
4889template<
class T1,
class C1>
4902template<
class T1,
class C1>
4915template<
class T1,
class C1>
4928template<
class T1,
class C1>
4941template<
class T1,
class C1>
4954template<
class T1,
class C1>
4967template<
class T1,
class C1>
4980template<
class T1,
class C1>
4993template<
class T1,
class C1>
5006template<
class T1,
class C1>
5019template<
class T1,
class C1>
5032template<
class T1,
class C1>
5045template<
class T1,
class C1>
5058template<
class T1,
class C1>
5071template<
class T1,
class C1>
5084template<
class T1,
class C1>
5097template<
class T1,
class C1>
5110template<
class T1,
class C1>
5123template<
class T1,
class C1>
5136template<
class T1,
class C1>
5149template<
class T1,
class C1>
5162template<
class T1,
class C1>
5175template<
class T1,
class C1>
5188template<
class T1,
class C1>
5201template<
class T1,
class C1>
5214template<
class T1,
class C1>
5227template<
class T1,
class C1>
5240template<
class T1,
class C1>
5253template<
class T1,
class C1>
5266template<
class T1,
class C1>
5279template<
class T1,
class C1>
5292template<
class T1,
class C1>
5305template<
class T1,
class C1>
5318template<
class T1,
class C1>
5331template<
class T1,
class C1>
5344template<
class T1,
class C1>
5357template<
class T1,
class C1>
5370template<
class T1,
class C1>
5383template<
class T1,
class C1>
5396template<
class T1,
class C1>
5409template<
class T1,
class C1>
5422template<
class T1,
class C1>
5435template<
class T1,
class C1>
5448template<
class T1,
class C1>
5461template<
class T1,
class C1>
5474template<
class T1,
class C1>
5487template<
class T1,
class C1>
5500template<
class T1,
class C1>
5513template<
class T1,
class C1>
5526template<
class T1,
class C1>
5539template<
class T1,
class C1>
5552template<
class T1,
class C1,
class T2,
class C2>
5557cmplx(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5568template<
class T1,
class C1,
class T2,
class C2>
5584template<
class T1,
class C1,
class T2,
class C2>
5600template<
class T1,
class C1,
class T2,
class C2>
5616template<
class T1,
class C1,
class T2,
class C2>
5632template<
class T1,
class C1,
class T2,
class C2>
5648template<
class T1,
class C1,
class T2,
class C2>
5664template<
class T1,
class C1,
class T2,
class C2>
5680template<
class T1,
class C1,
class T2,
class C2>
5696template<
class T1,
class C1,
class T2,
class C2>
5712template<
class T1,
class C1,
class T2,
class C2>
5728template<
class T1,
class C1,
class T2,
class C2>
5744template<
class T1,
class C1,
class T2,
class C2>
5760template<
class T1,
class C1,
class T2,
class C2>
5776template<
class T1,
class C1,
class T2,
class C2>
5792template<
class T1,
class C1,
class T2,
class C2>
5808template<
class T1,
class C1,
class T2,
class C2>
5824template<
class T1,
class C1,
class T2,
class C2>
5840template<
class T1,
class C1,
class T2,
class C2>
5856template<
class T1,
class C1,
class T2,
class C2>
5872template<
class T1,
class C1,
class T2,
class C2>
5888template<
class T1,
class C1,
class T2,
class C2>
5893ldexp(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5904template<
class T1,
class C1,
class T2,
class C2>
5909pow(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5920template<
class T1,
class C1,
class T2,
class C2>
5925fmod(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5936template<
class T1,
class C1,
class T2,
class C2>
5941atan2(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5952template<
class T1,
class C1,
class T2,
class C2>
5957operator<(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5968template<
class T1,
class C1,
class T2,
class C2>
5973operator<=(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
5984template<
class T1,
class C1,
class T2,
class C2>
6000template<
class T1,
class C1,
class T2,
class C2>
6016template<
class T1,
class C1,
class T2,
class C2>
6032template<
class T1,
class C1,
class T2,
class C2>
6048template<
class T1,
class C1,
class T2,
class C2>
6064template<
class T1,
class C1,
class T2,
class C2>
6080template<
class T1,
class C1,
class T2,
class C2>
6085operator<<(
const QDPExpr<T1,C1> & l,
const QDPExpr<T2,C2> & r)
6096template<
class T1,
class C1,
class T2,
class C2>
6112template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
6118colorContract(
const QDPExpr<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPExpr<T3,C3> & c)
6131template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
6137where(
const QDPExpr<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPExpr<T3,C3> & c)
6150template<
class T1,
class C1>
6155cmplx(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6163 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6166template<
class T1,
class C1>
6171outerProduct(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6179 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6182template<
class T1,
class C1>
6195 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6198template<
class T1,
class C1>
6211 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6214template<
class T1,
class C1>
6227 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6230template<
class T1,
class C1>
6243 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6246template<
class T1,
class C1>
6259 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6262template<
class T1,
class C1>
6275 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6278template<
class T1,
class C1>
6291 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6294template<
class T1,
class C1>
6307 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6310template<
class T1,
class C1>
6323 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6326template<
class T1,
class C1>
6339 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6342template<
class T1,
class C1>
6355 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6358template<
class T1,
class C1>
6363operator+(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6371 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6374template<
class T1,
class C1>
6379operator-(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6387 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6390template<
class T1,
class C1>
6395operator*(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6403 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6406template<
class T1,
class C1>
6411operator/(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6419 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6422template<
class T1,
class C1>
6427operator%(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6435 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6438template<
class T1,
class C1>
6443operator&(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6451 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6454template<
class T1,
class C1>
6459operator|(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6467 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6470template<
class T1,
class C1>
6475operator^(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6483 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6486template<
class T1,
class C1>
6491ldexp(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6499 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6502template<
class T1,
class C1>
6507pow(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6515 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6518template<
class T1,
class C1>
6523fmod(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6531 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6534template<
class T1,
class C1>
6539atan2(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6547 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6550template<
class T1,
class C1>
6555operator<(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6563 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6566template<
class T1,
class C1>
6571operator<=(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6579 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6582template<
class T1,
class C1>
6587operator>(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6595 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6598template<
class T1,
class C1>
6603operator>=(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6611 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6614template<
class T1,
class C1>
6619operator==(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6627 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6630template<
class T1,
class C1>
6635operator!=(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6643 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6646template<
class T1,
class C1>
6651operator&&(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6659 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6662template<
class T1,
class C1>
6667operator||(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6675 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6678template<
class T1,
class C1>
6683operator<<(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6691 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6694template<
class T1,
class C1>
6699operator>>(
const QDPExpr<T1,C1> & l,
const typename WordType<C1>::Type_t & r)
6707 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(r))));
6710template<
class T2,
class C2>
6715cmplx(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6722 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6726template<
class T2,
class C2>
6731outerProduct(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6738 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6742template<
class T2,
class C2>
6754 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6758template<
class T2,
class C2>
6770 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6774template<
class T2,
class C2>
6786 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6790template<
class T2,
class C2>
6802 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6806template<
class T2,
class C2>
6818 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6822template<
class T2,
class C2>
6834 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6838template<
class T2,
class C2>
6850 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6854template<
class T2,
class C2>
6866 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6870template<
class T2,
class C2>
6882 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6886template<
class T2,
class C2>
6898 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6902template<
class T2,
class C2>
6914 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6918template<
class T2,
class C2>
6923operator+(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6930 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6934template<
class T2,
class C2>
6939operator-(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6946 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6950template<
class T2,
class C2>
6955operator*(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6962 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6966template<
class T2,
class C2>
6971operator/(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6978 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6982template<
class T2,
class C2>
6987operator%(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
6994 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
6998template<
class T2,
class C2>
7003operator&(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7010 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7014template<
class T2,
class C2>
7019operator|(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7026 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7030template<
class T2,
class C2>
7035operator^(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7042 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7046template<
class T2,
class C2>
7051ldexp(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7058 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7062template<
class T2,
class C2>
7067pow(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7074 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7078template<
class T2,
class C2>
7083fmod(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7090 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7094template<
class T2,
class C2>
7099atan2(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7106 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7110template<
class T2,
class C2>
7115operator<(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7122 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7126template<
class T2,
class C2>
7131operator<=(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7138 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7142template<
class T2,
class C2>
7147operator>(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7154 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7158template<
class T2,
class C2>
7163operator>=(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7170 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7174template<
class T2,
class C2>
7179operator==(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7186 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7190template<
class T2,
class C2>
7195operator!=(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7202 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7206template<
class T2,
class C2>
7211operator&&(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7218 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7222template<
class T2,
class C2>
7227operator||(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7234 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7238template<
class T1,
class C1,
class T2,
class C2>
7244colorContract(
const QDPExpr<T1,C1> & a,
const QDPType<T2,C2> & b,
const typename WordType<C1>::Type_t & c)
7254 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
7257template<
class T1,
class C1,
class T2,
class C2>
7263where(
const QDPExpr<T1,C1> & a,
const QDPType<T2,C2> & b,
const typename WordType<C1>::Type_t & c)
7273 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
7276template<
class T1,
class C1,
class T3,
class C3>
7282colorContract(
const QDPExpr<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const QDPType<T3,C3> & c)
7291 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
7295template<
class T1,
class C1,
class T3,
class C3>
7301where(
const QDPExpr<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const QDPType<T3,C3> & c)
7310 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
7314template<
class T1,
class C1>
7320colorContract(
const QDPExpr<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const typename WordType<C1>::Type_t & c)
7329 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
7330 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
7333template<
class T1,
class C1>
7339where(
const QDPExpr<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const typename WordType<C1>::Type_t & c)
7348 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
7349 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
7352template<
class T1,
class C1,
class T2,
class C2>
7358colorContract(
const QDPType<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const typename WordType<C1>::Type_t & c)
7368 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
7371template<
class T1,
class C1,
class T2,
class C2>
7377where(
const QDPType<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const typename WordType<C1>::Type_t & c)
7387 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(c))));
7390template<
class T1,
class C1,
class T3,
class C3>
7396colorContract(
const QDPType<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const QDPExpr<T3,C3> & c)
7405 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
7409template<
class T1,
class C1,
class T3,
class C3>
7415where(
const QDPType<T1,C1> & a,
const typename WordType<C1>::Type_t & b,
const QDPExpr<T3,C3> & c)
7424 CreateLeaf<
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C1>::Type_t>
::Type_t(b)),
7428template<
class T2,
class C2,
class T3,
class C3>
7434colorContract(
const typename WordType<C2>::Type_t & a,
const QDPExpr<T2,C2> & b,
const QDPType<T3,C3> & c)
7442 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7447template<
class T2,
class C2,
class T3,
class C3>
7453where(
const typename WordType<C2>::Type_t & a,
const QDPExpr<T2,C2> & b,
const QDPType<T3,C3> & c)
7461 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7466template<
class T2,
class C2,
class T3,
class C3>
7472colorContract(
const typename WordType<C2>::Type_t & a,
const QDPType<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7480 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7485template<
class T2,
class C2,
class T3,
class C3>
7491where(
const typename WordType<C2>::Type_t & a,
const QDPType<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7499 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7504template<
class T2,
class C2,
class T3,
class C3>
7510colorContract(
const typename WordType<C2>::Type_t & a,
const QDPExpr<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7518 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7523template<
class T2,
class C2,
class T3,
class C3>
7529where(
const typename WordType<C2>::Type_t & a,
const QDPExpr<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7537 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7542template<
class T2,
class C2>
7548colorContract(
const typename WordType<C2>::Type_t & a,
const QDPExpr<T2,C2> & b,
const typename WordType<C2>::Type_t & c)
7556 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7558 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(c))));
7561template<
class T2,
class C2>
7567where(
const typename WordType<C2>::Type_t & a,
const QDPExpr<T2,C2> & b,
const typename WordType<C2>::Type_t & c)
7575 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(a)),
7577 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(c))));
7580template<
class T3,
class C3>
7586colorContract(
const typename WordType<C3>::Type_t & a,
const typename WordType<C3>::Type_t & b,
const QDPExpr<T3,C3> & c)
7594 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(a)),
7595 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(b)),
7599template<
class T3,
class C3>
7605where(
const typename WordType<C3>::Type_t & a,
const typename WordType<C3>::Type_t & b,
const QDPExpr<T3,C3> & c)
7613 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(a)),
7614 CreateLeaf<
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C3>::Type_t>
::Type_t(b)),
7617#ifdef PETE_ALLOW_SCALAR_SHIFT
7619template<
class T2,
class C2>
7624operator<<(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7631 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7635template<
class T2,
class C2>
7640operator>>(
const typename WordType<C2>::Type_t & l,
const QDPExpr<T2,C2> & r)
7647 CreateLeaf<
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t >::make(
typename SimpleScalar<
typename WordType<C2>::Type_t>
::Type_t(l)),
7652template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7658colorContract(
const QDPExpr<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPType<T3,C3> & c)
7671template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7677where(
const QDPExpr<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPType<T3,C3> & c)
7690template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7696colorContract(
const QDPType<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPType<T3,C3> & c)
7709template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7715where(
const QDPType<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPType<T3,C3> & c)
7728template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7734colorContract(
const QDPType<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7747template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7753where(
const QDPType<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7766template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7772colorContract(
const QDPExpr<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPType<T3,C3> & c)
7785template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7791where(
const QDPExpr<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPType<T3,C3> & c)
7804template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7810colorContract(
const QDPType<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7823template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7829where(
const QDPType<T1,C1> & a,
const QDPExpr<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7842template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7848colorContract(
const QDPExpr<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPExpr<T3,C3> & c)
7861template<
class T1,
class C1,
class T2,
class C2,
class T3,
class C3>
7867where(
const QDPExpr<T1,C1> & a,
const QDPType<T2,C2> & b,
const QDPExpr<T3,C3> & c)
#define PETE_EMPTY_CONSTRUCTORS(CLASS)
MakeReturn< UnaryNode< FnRealTrace, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnRealTrace >::Type_t >::Expression_t realTrace(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< 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< FnTransposeSpin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeSpin >::Type_t >::Expression_t transposeSpin(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< OpIdentity, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpIdentity >::Type_t >::Expression_t PETE_identity(const QDPExpr< T1, C1 > &l)
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< UnaryNode< FnFabs, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFabs >::Type_t >::Expression_t fabs(const QDPExpr< T1, C1 > &l)
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< BinaryNode< FnLdexp, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLdexp >::Type_t >::Expression_t ldexp(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
MakeReturn< UnaryNode< FnSpinReconstructDir2Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Minus >::Type_t >::Expression_t spinReconstructDir2Minus(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< FnSpinReconstructDir3Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Plus >::Type_t >::Expression_t spinReconstructDir3Plus(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< 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< 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< BinaryNode< FnFmod, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnFmod >::Type_t >::Expression_t fmod(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< UnaryNode< OpNot, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpNot >::Type_t >::Expression_t operator!(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< 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< FnSpinReconstructDir0Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Minus >::Type_t >::Expression_t spinReconstructDir0Minus(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< UnaryNode< FnTraceColor, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceColor >::Type_t >::Expression_t traceColor(const QDPExpr< T1, C1 > &l)
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< FnSpinReconstructDir3Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Minus >::Type_t >::Expression_t spinReconstructDir3Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSeedToFloat, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSeedToFloat >::Type_t >::Expression_t seedToFloat(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< UnaryNode< FnTranspose, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTranspose >::Type_t >::Expression_t transpose(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)
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< UnaryNode< FnSpinProjectDir2Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Plus >::Type_t >::Expression_t spinProjectDir2Plus(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< FnHypTan, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypTan >::Type_t >::Expression_t tanh(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< 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< UnaryNode< FnTimesMinusI, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesMinusI >::Type_t >::Expression_t timesMinusI(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnArcSin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcSin >::Type_t >::Expression_t asin(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< FnExp, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnExp >::Type_t >::Expression_t exp(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< FnLog, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog >::Type_t >::Expression_t log(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< UnaryNode< FnSpinProjectDir0Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Plus >::Type_t >::Expression_t spinProjectDir0Plus(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< 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< FnTransposeColor, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeColor >::Type_t >::Expression_t transposeColor(const QDPExpr< T1, C1 > &l)
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< 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< FnHypCos, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypCos >::Type_t >::Expression_t cosh(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnLocalNorm2, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLocalNorm2 >::Type_t >::Expression_t localNorm2(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< UnaryNode< FnArcTan, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcTan >::Type_t >::Expression_t atan(const QDPExpr< T1, C1 > &l)
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< 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< 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< 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< FnTimesI, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesI >::Type_t >::Expression_t timesI(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnTraceSpin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceSpin >::Type_t >::Expression_t traceSpin(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< UnaryNode< FnSpinReconstructDir2Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Plus >::Type_t >::Expression_t spinReconstructDir2Plus(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< 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< FnSqrt, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSqrt >::Type_t >::Expression_t sqrt(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< 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< UnaryNode< FnCeil, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCeil >::Type_t >::Expression_t ceil(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir1Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Plus >::Type_t >::Expression_t spinReconstructDir1Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir1Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Minus >::Type_t >::Expression_t spinProjectDir1Minus(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< OpLeftShift, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLeftShift >::Type_t >::Expression_t operator<<(const QDPType< T1, C1 > &l, const QDPExpr< T2, C2 > &r)
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< FnSpinReconstructDir0Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Plus >::Type_t >::Expression_t spinReconstructDir0Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< BinaryNode< OpRightShift, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpRightShift >::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< FnSpinProjectDir3Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Plus >::Type_t >::Expression_t spinProjectDir3Plus(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< UnaryNode< FnAdjoint, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnAdjoint >::Type_t >::Expression_t adj(const QDPExpr< T1, C1 > &l)
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< OpBitwiseNot, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpBitwiseNot >::Type_t >::Expression_t operator~(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< 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< FnSpinProjectDir0Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Minus >::Type_t >::Expression_t spinProjectDir0Minus(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< 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< FnSpinProjectDir1Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Plus >::Type_t >::Expression_t spinProjectDir1Plus(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< FnSin, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSin >::Type_t >::Expression_t sin(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnReal, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnReal >::Type_t >::Expression_t real(const QDPExpr< T1, C1 > &l)
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)
Promote< T1, T2 >::Type_t Type_t
UnaryReturn< T, FnAdjoint >::Type_t operator()(const T &a) const
UnaryReturn< T, FnChiralProjectMinus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnChiralProjectPlus >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, FnCmplx >::Type_t operator()(const T1 &a, const T2 &b) const
TrinaryReturn< T1, T2, T3, FnColorContract >::Type_t operator()(const T1 &a, const T2 &b, const T3 &c) const
BinaryReturn< T1, T2, FnColorCrossProduct >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnColorVectorContract >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnConjugate >::Type_t operator()(const T &a) const
UnaryReturn< T, FnImagTrace >::Type_t operator()(const T &a) const
UnaryReturn< T, FnImag >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, FnLocalColorInnerProduct >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnLocalInnerProductReal >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnLocalNorm2 >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, FnOuterProduct >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnQuarkContract12 >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnQuarkContract13 >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnQuarkContract14 >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnQuarkContract23 >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnQuarkContract24 >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnQuarkContract34 >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnRealTrace >::Type_t operator()(const T &a) const
UnaryReturn< T, FnReal >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSeedToFloat >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir0Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir0Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir1Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir1Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir2Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir2Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir3Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinProjectDir3Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir0Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir0Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir1Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir1Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir2Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir2Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir3Minus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSpinReconstructDir3Plus >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTimesI >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTimesMinusI >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTraceColor >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTraceSpin >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTrace >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTransposeColor >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTransposeSpin >::Type_t operator()(const T &a) const
UnaryReturn< T, FnTranspose >::Type_t operator()(const T &a) const
static Expression_t make(const T &a)
BinaryReturn< T2, T3, Op >::Type_t Type_t