QDP++
qdp_scalarsite_pabasm.h File Reference

Generic optimizations. More...

Go to the source code of this file.

Namespaces

namespace  QDP
 Yet another random number generator.

Macros

#define RComplexFloat   RComplex<float>
#define _inline_generic_mult_su3_nn(aa, bb, cc)
#define _inline_generic_mult_su3_na(aa, bb, cc)
#define _inline_generic_mult_su3_an(aa, bb, cc)
#define _inline_generic_mult_su3_aa(aa, bb, cc)
#define GENERIC_MAT_VEC_H
#define _inline_generic_mult_su3_mat_vec(aa, bb, cc)
#define _inline_generic_mult_adj_su3_mat_vec(aa, bb, cc)
#define _inline_generic_add_su3_vector(aa, bb, cc)

Functions

template<>
BinaryReturn< PMatrix< RComplexFloat, 3, PColorMatrix >, PMatrix< RComplexFloat, 3, PColorMatrix >, OpMultiply >::Type_t QDP::operator* (const PMatrix< RComplexFloat, 3, PColorMatrix > &l, const PMatrix< RComplexFloat, 3, PColorMatrix > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PScalar< PColorMatrix< RComplexFloat, 3 > >, OpMultiply >::Type_t QDP::operator* (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PScalar< PColorMatrix< RComplexFloat, 3 > > &r)
template<>
BinaryReturn< PMatrix< RComplexFloat, 3, PColorMatrix >, PMatrix< RComplexFloat, 3, PColorMatrix >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PMatrix< RComplexFloat, 3, PColorMatrix > &l, const PMatrix< RComplexFloat, 3, PColorMatrix > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PScalar< PColorMatrix< RComplexFloat, 3 > >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PScalar< PColorMatrix< RComplexFloat, 3 > > &r)
template<>
BinaryReturn< PMatrix< RComplexFloat, 3, PColorMatrix >, PMatrix< RComplexFloat, 3, PColorMatrix >, OpMultiplyAdj >::Type_t QDP::multiplyAdj (const PMatrix< RComplexFloat, 3, PColorMatrix > &l, const PMatrix< RComplexFloat, 3, PColorMatrix > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PScalar< PColorMatrix< RComplexFloat, 3 > >, OpMultiplyAdj >::Type_t QDP::multiplyAdj (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PScalar< PColorMatrix< RComplexFloat, 3 > > &r)
template<>
BinaryReturn< PMatrix< RComplexFloat, 3, PColorMatrix >, PVector< RComplexFloat, 3, PColorVector >, OpMultiply >::Type_t QDP::operator* (const PMatrix< RComplexFloat, 3, PColorMatrix > &l, const PVector< RComplexFloat, 3, PColorVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PScalar< PColorVector< RComplexFloat, 3 > >, OpMultiply >::Type_t QDP::operator* (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PScalar< PColorVector< RComplexFloat, 3 > > &r)
template<>
BinaryReturn< PMatrix< RComplexFloat, 3, PColorMatrix >, PVector< RComplexFloat, 3, PColorVector >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PMatrix< RComplexFloat, 3, PColorMatrix > &l, const PVector< RComplexFloat, 3, PColorVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PVector< PColorVector< RComplexFloat, 3 >, 1, PSpinVector >, OpMultiply >::Type_t QDP::operator* (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PVector< PColorVector< RComplexFloat, 3 >, 1, PSpinVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PScalar< PColorVector< RComplexFloat, 3 > >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PScalar< PColorVector< RComplexFloat, 3 > > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PVector< PColorVector< RComplexFloat, 3 >, 1, PSpinVector >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PVector< PColorVector< RComplexFloat, 3 >, 1, PSpinVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PVector< PColorVector< RComplexFloat, 3 >, 2, PSpinVector >, OpMultiply >::Type_t QDP::operator* (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PVector< PColorVector< RComplexFloat, 3 >, 2, PSpinVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PVector< PColorVector< RComplexFloat, 3 >, 2, PSpinVector >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PVector< PColorVector< RComplexFloat, 3 >, 2, PSpinVector > &r)
template<>
BinaryReturn< PVector< RComplexFloat, 3, PColorVector >, PVector< RComplexFloat, 3, PColorVector >, OpAdd >::Type_t QDP::operator+ (const PVector< RComplexFloat, 3, PColorVector > &l, const PVector< RComplexFloat, 3, PColorVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PVector< PColorVector< RComplexFloat, 3 >, 4, PSpinVector >, OpMultiply >::Type_t QDP::operator* (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PVector< PColorVector< RComplexFloat, 3 >, 4, PSpinVector > &r)
template<>
BinaryReturn< PScalar< PColorMatrix< RComplexFloat, 3 > >, PVector< PColorVector< RComplexFloat, 3 >, 4, PSpinVector >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PScalar< PColorMatrix< RComplexFloat, 3 > > &l, const PVector< PColorVector< RComplexFloat, 3 >, 4, PSpinVector > &r)
template<>
BinaryReturn< PScalar< PColorVector< RComplexFloat, 3 > >, PScalar< PColorVector< RComplexFloat, 3 > >, OpAdd >::Type_t QDP::operator+ (const PScalar< PColorVector< RComplexFloat, 3 > > &l, const PScalar< PColorVector< RComplexFloat, 3 > > &r)
template<>
void QDP::evaluate (OLattice< PSpinVector< PColorVector< RComplexFloat, 3 >, 2 > > &d, const OpAssign &op, const QDPExpr< BinaryNode< OpMultiply, Reference< QDPType< PScalar< PColorMatrix< RComplexFloat, 3 > >, OLattice< PScalar< PColorMatrix< RComplexFloat, 3 > > > > >, Reference< QDPType< PSpinVector< PColorVector< RComplexFloat, 3 >, 2 >, OLattice< PSpinVector< PColorVector< RComplexFloat, 3 >, 2 > > > > >, OLattice< PSpinVector< PColorVector< RComplexFloat, 3 >, 2 > > > &rhs, const Subset &s)

Detailed Description

Generic optimizations.

Generic version of optimized basic operations

Definition in file qdp_scalarsite_pabasm.h.

Macro Definition Documentation

◆ _inline_generic_add_su3_vector

#define _inline_generic_add_su3_vector ( aa,
bb,
cc )
Value:
{ \
cc.elem(0) = aa.elem(0) + bb.elem(0); \
cc.elem(1) = aa.elem(1) + bb.elem(1); \
cc.elem(2) = aa.elem(2) + bb.elem(2); \
}

Referenced by QDP::operator+(), and QDP::operator+().

◆ _inline_generic_mult_adj_su3_mat_vec

#define _inline_generic_mult_adj_su3_mat_vec ( aa,
bb,
cc )

◆ _inline_generic_mult_su3_aa

#define _inline_generic_mult_su3_aa ( aa,
bb,
cc )

◆ _inline_generic_mult_su3_an

#define _inline_generic_mult_su3_an ( aa,
bb,
cc )

◆ _inline_generic_mult_su3_mat_vec

◆ _inline_generic_mult_su3_na

#define _inline_generic_mult_su3_na ( aa,
bb,
cc )

◆ _inline_generic_mult_su3_nn

#define _inline_generic_mult_su3_nn ( aa,
bb,
cc )

◆ GENERIC_MAT_VEC_H

#define GENERIC_MAT_VEC_H