|
QDP++
|
PETE optimized operations on QDPTypes. More...
Go to the source code of this file.
Classes | |
| struct | QDP::OpAdjMultiply |
| struct | QDP::OpMultiplyAdj |
| struct | QDP::OpAdjMultiplyAdj |
| struct | QDP::FnTraceMultiply |
| struct | QDP::FnTraceColorMultiply |
| struct | QDP::FnTraceSpinMultiply |
| struct | QDP::FnTraceSpinOuterProduct |
| struct | QDP::FnTraceSpinQuarkContract13 |
Namespaces | |
| namespace | QDP |
| Yet another random number generator. | |
Functions | |
| template<class T1, class C1, class T2, class C2> | |
| MakeReturn< BinaryNode< OpAdjMultiply, typenameCreateLeaf< QDPExpr< UnaryNode< OpIdentity, T1 >, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAdjMultiply >::Type_t >::Expression_t | QDP::operator* (const QDPExpr< UnaryNode< FnAdjoint, T1 >, C1 > &l, const QDPType< T2, C2 > &r) |
| template<class T1, class C1, class T2, class C2> | |
| MakeReturn< BinaryNode< OpAdjMultiply, typenameCreateLeaf< QDPExpr< UnaryNode< OpIdentity, T1 >, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAdjMultiply >::Type_t >::Expression_t | QDP::operator* (const QDPExpr< UnaryNode< FnAdjoint, T1 >, C1 > &l, const QDPExpr< T2, C2 > &r) |
| template<class T1, class C1, class T2, class C2> | |
| MakeReturn< BinaryNode< OpMultiplyAdj, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< UnaryNode< OpIdentity, T2 >, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMultiplyAdj >::Type_t >::Expression_t | QDP::operator* (const QDPType< T1, C1 > &l, const QDPExpr< UnaryNode< FnAdjoint, T2 >, C2 > &r) |
| template<class T1, class C1, class T2, class C2> | |
| MakeReturn< BinaryNode< OpMultiplyAdj, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< UnaryNode< OpIdentity, T2 >, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMultiplyAdj >::Type_t >::Expression_t | QDP::operator* (const QDPExpr< T1, C1 > &l, const QDPExpr< UnaryNode< FnAdjoint, T2 >, C2 > &r) |
| template<class T1, class C1, class T2, class C2> | |
| MakeReturn< BinaryNode< OpAdjMultiplyAdj, typenameCreateLeaf< QDPExpr< UnaryNode< OpIdentity, T1 >, C1 > >::Leaf_t, typenameCreateLeaf< QDPExpr< UnaryNode< OpIdentity, T2 >, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAdjMultiplyAdj >::Type_t >::Expression_t | QDP::operator* (const QDPExpr< UnaryNode< FnAdjoint, T1 >, C1 > &l, const QDPExpr< UnaryNode< FnAdjoint, T2 >, C2 > &r) |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnTraceMultiply, T1, T2 >, typenameUnaryReturn< CC, FnTrace >::Type_t >::Expression_t | QDP::trace (const QDPExpr< BinaryNode< OpMultiply, T1, T2 >, CC > &ll) |
| traceMultiply(l,r) <- trace(l*r) | |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnTraceColorMultiply, T1, T2 >, typenameUnaryReturn< CC, FnTrace >::Type_t >::Expression_t | QDP::traceColor (const QDPExpr< BinaryNode< OpMultiply, T1, T2 >, CC > &ll) |
| traceColorMultiply(l,r) <- traceColor(l*r) | |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnTraceSpinMultiply, T1, T2 >, typenameUnaryReturn< CC, FnTrace >::Type_t >::Expression_t | QDP::traceSpin (const QDPExpr< BinaryNode< OpMultiply, T1, T2 >, CC > &ll) |
| traceSpinMultiply(l,r) <- traceSpin(l*r) | |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnTraceSpinOuterProduct, T1, T2 >, typenameUnaryReturn< CC, FnTrace >::Type_t >::Expression_t | QDP::traceSpin (const QDPExpr< BinaryNode< FnOuterProduct, T1, T2 >, CC > &ll) |
| traceOuterProduct(l,r) <- traceSpin(outerProduct(l,r)) | |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnLocalInnerProduct, T1, T2 >, typenameUnaryReturn< CC, FnTrace >::Type_t >::Expression_t | QDP::trace (const QDPExpr< BinaryNode< OpAdjMultiply, T1, T2 >, CC > &ll) |
| localInnerProduct(l,r) <- trace(adj(l)*r) | |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnTraceSpinQuarkContract13, T1, T2 >, typenameUnaryReturn< CC, FnTrace >::Type_t >::Expression_t | QDP::traceSpin (const QDPExpr< BinaryNode< FnQuarkContract13, T1, T2 >, CC > &ll) |
| traceSpinQuarkContract13(l,r) <- traceSpin(quarkContract13(l,r)) | |
| template<class T1, class CC> | |
| MakeReturn< UnaryNode< FnRealTrace, T1 >, typenameUnaryReturn< CC, FnReal >::Type_t >::Expression_t | QDP::real (const QDPExpr< UnaryNode< FnTrace, T1 >, CC > &ll) |
| realTrace(l) <- real(trace(l)) | |
| template<class T1, class T2, class CC> | |
| MakeReturn< BinaryNode< FnLocalInnerProductReal, T1, T2 >, typenameUnaryReturn< CC, FnReal >::Type_t >::Expression_t | QDP::real (const QDPExpr< BinaryNode< FnLocalInnerProduct, T1, T2 >, CC > &ll) |
| localInnerProductReal(l,r) <- real(trace(adj(l)*r)) | |
PETE optimized operations on QDPTypes.
These are optimizations that collapse several QDP operations into one mega operation. Assembly/specialization opts do NOT go here.
Definition in file qdp_optops.h.