QDP++

Topics

 Color vector primitive
 Spin vector primitive

Classes

class  QDP::PVector< T, N, C >
 Primitive Vector class. More...
struct  QDP::UnaryReturn< PVector< T1, N, C >, FnIsNan >
 isnan More...
struct  QDP::UnaryReturn< PVector< T1, N, C >, FnIsInf >
 isinf More...
struct  QDP::UnaryReturn< PVector< T1, N, C >, FnIsNormal >
 isnormal More...
struct  QDP::UnaryReturn< PVector< T1, N, C >, FnIsFinite >
 isfinite More...
struct  QDP::UnaryReturn< PVector< T, N, C >, FnNorm2 >
struct  QDP::UnaryReturn< PVector< T, N, C >, FnLocalNorm2 >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, FnInnerProduct >
 PScalar<T> = InnerProduct(adj(PVector<T1>)*PVector<T1>). More...
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, FnLocalInnerProduct >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, FnInnerProductReal >
 PScalar<T> = InnerProductReal(adj(PVector<T1>)*PVector<T1>). More...
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, FnLocalInnerProductReal >
struct  QDP::TrinaryReturn< PScalar< T1 >, PVector< T2, N, C >, PVector< T3, N, C >, FnWhere >
 PVector<T> = where(PScalar, PVector, PVector). More...

Functions

template<class T, int N, template< class, int > class C>
std::istream & QDP::operator>> (std::istream &s, PVector< T, N, C > &d)
 Stream input.
template<class T, int N, template< class, int > class C>
StandardInputStreamQDP::operator>> (StandardInputStream &s, PVector< T, N, C > &d)
template<class T, int N, template< class, int > class C>
std::ostream & QDP::operator<< (std::ostream &s, const PVector< T, N, C > &d)
 Stream output.
template<class T, int N, template< class, int > class C>
StandardOutputStreamQDP::operator<< (StandardOutputStream &s, const PVector< T, N, C > &d)
 Stream output.
template<class T, int N, template< class, int > class C>
TextReaderQDP::operator>> (TextReader &txt, PVector< T, N, C > &d)
 Text input.
template<class T, int N, template< class, int > class C>
TextWriterQDP::operator<< (TextWriter &txt, const PVector< T, N, C > &d)
 Text output.
template<class T1, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, OpUnaryPlus >::Type_t QDP::operator+ (const PVector< T1, N, C > &l)
template<class T1, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, OpUnaryMinus >::Type_t QDP::operator- (const PVector< T1, N, C > &l)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpAdd >::Type_t QDP::operator+ (const PVector< T1, N, C > &l, const PVector< T2, N, C > &r)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpSubtract >::Type_t QDP::operator- (const PVector< T1, N, C > &l, const PVector< T2, N, C > &r)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpMultiply >::Type_t QDP::operator* (const PVector< T1, N, C > &l, const PScalar< T2 > &r)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpMultiplyAdj >::Type_t QDP::multiplyAdj (const PVector< T1, N, C > &l, const PScalar< T2 > &r)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PScalar< T1 >, PVector< T2, N, C >, OpMultiply >::Type_t QDP::operator* (const PScalar< T1 > &l, const PVector< T2, N, C > &r)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PScalar< T1 >, PVector< T2, N, C >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PScalar< T1 > &l, const PVector< T2, N, C > &r)
template<class T1, class T2, int N, template< class, int > class C1, template< class, int > class C2>
BinaryReturn< PMatrix< T1, N, C1 >, PVector< T2, N, C2 >, OpMultiply >::Type_t QDP::operator* (const PMatrix< T1, N, C1 > &l, const PVector< T2, N, C2 > &r)
template<class T1, class T2, int N, template< class, int > class C1, template< class, int > class C2>
BinaryReturn< PMatrix< T1, N, C1 >, PVector< T2, N, C2 >, OpAdjMultiply >::Type_t QDP::adjMultiply (const PMatrix< T1, N, C1 > &l, const PVector< T2, N, C2 > &r)
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpDivide >::Type_t QDP::operator/ (const PVector< T1, N, C > &l, const PScalar< T2 > &r)
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnReal >::Type_t QDP::real (const PVector< T, N, C > &s1)
 PVector = Re(PVector).
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnImag >::Type_t QDP::imag (const PVector< T, N, C > &s1)
 PVector = Im(PVector).
template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, FnCmplx >::Type_t QDP::cmplx (const PVector< T1, N, C > &s1, const PVector< T2, N, C > &s2)
 PVector<T> = (PVector<T> , PVector<T>).
template<class T1, int N, template< class, int > class C>
bool QDP::isnan (const PVector< T1, N, C > &l)
template<class T1, int N, template< class, int > class C>
bool QDP::isinf (const PVector< T1, N, C > &l)
template<class T1, int N, template< class, int > class C>
bool QDP::isnormal (const PVector< T1, N, C > &l)
template<class T1, int N, template< class, int > class C>
bool QDP::isfinite (const PVector< T1, N, C > &l)
template<class T1, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnConjugate >::Type_t QDP::conj (const PVector< T1, N, C > &l)
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnTimesI >::Type_t QDP::timesI (const PVector< T, N, C > &s1)
 PVector = i * PVector.
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnTimesMinusI >::Type_t QDP::timesMinusI (const PVector< T, N, C > &s1)
 PVector = -i * PVector.
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnGetSite >::Type_t QDP::getSite (const PVector< T, N, C > &s1, int innersite)
 dest [some type] = source [some type]
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekColorVector >::Type_t QDP::peekColor (const PVector< T, N, C > &l, int row)
 Extract color vector components.
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekColorMatrix >::Type_t QDP::peekColor (const PVector< T, N, C > &l, int row, int col)
 Extract color matrix components.
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekSpinVector >::Type_t QDP::peekSpin (const PVector< T, N, C > &l, int row)
 Extract spin vector components.
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekSpinMatrix >::Type_t QDP::peekSpin (const PVector< T, N, C > &l, int row, int col)
 Extract spin matrix components.
template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeColorVector >::Type_tQDP::pokeColor (PVector< T1, N, C > &l, const PVector< T2, N, C > &r, int row)
 Insert color vector components.
template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeColorVector >::Type_tQDP::pokeColor (PVector< T1, N, C > &l, const PVector< T2, N, C > &r, int row, int col)
 Insert color matrix components.
template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeSpinVector >::Type_tQDP::pokeSpin (PVector< T1, N, C > &l, const PVector< T2, N, C > &r, int row)
 Insert spin vector components.
template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeSpinVector >::Type_tQDP::pokeSpin (PVector< T1, N, C > &l, const PVector< T2, N, C > &r, int row, int col)
 Insert spin matrix components.
template<class T, int N, template< class, int > class C>
void QDP::zero_rep (PVector< T, N, C > &dest)
 dest = 0
template<class T, class T1, int N, template< class, int > class C>
void QDP::copymask (PVector< T, N, C > &d, const PScalar< T1 > &mask, const PVector< T, N, C > &s1)
 dest = (mask) ? s1 : dest
template<class T, class T1, int N, template< class, int > class C>
void QDP::copy_site (PVector< T, N, C > &d, int isite, const PVector< T1, N, C > &s1)
 dest [some type] = source [some type]
template<class T, class T1, int N, template< class, int > class C>
void QDP::copy_site (PVector< T, N, C > &d, int isite, const PScalar< T1 > &s1)
 dest [some type] = source [some type]
template<class T, class T1, int N, template< class, int > class C>
void QDP::gather_sites (PVector< T, N, C > &d, const PVector< T1, N, C > &s0, int i0, const PVector< T1, N, C > &s1, int i1, const PVector< T1, N, C > &s2, int i2, const PVector< T1, N, C > &s3, int i3)
 gather several inner sites together
template<class T, int N, template< class, int > class C, class T1, class T2>
void QDP::fill_random (PVector< T, N, C > &d, T1 &seed, T2 &skewed_seed, const T1 &seed_mult)
 dest = random
template<class T, int N, template< class, int > class C>
void QDP::fill_gaussian (PVector< T, N, C > &d, PVector< T, N, C > &r1, PVector< T, N, C > &r2)
 dest = gaussian
template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnLocalNorm2 >::Type_t QDP::localNorm2 (const PVector< T, N, C > &s1)
template<class T1, class T2, int N, template< class, int > class C>
PScalar< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_tQDP::localInnerProduct (const PVector< T1, N, C > &s1, const PVector< T2, N, C > &s2)
template<class T1, class T2, int N, template< class, int > class C>
PScalar< typename BinaryReturn< T1, T2, FnLocalInnerProductReal >::Type_tQDP::localInnerProductReal (const PVector< T1, N, C > &s1, const PVector< T2, N, C > &s2)
template<class T1, class T2, class T3, int N, template< class, int > class C>
TrinaryReturn< PScalar< T1 >, PVector< T2, N, C >, PVector< T3, N, C >, FnWhere >::Type_t QDP::where (const PScalar< T1 > &a, const PVector< T2, N, C > &b, const PVector< T3, N, C > &c)

Detailed Description

Primitive type that transforms like a vector

Function Documentation

◆ adjMultiply() [1/2]

template<class T1, class T2, int N, template< class, int > class C1, template< class, int > class C2>
BinaryReturn< PMatrix< T1, N, C1 >, PVector< T2, N, C2 >, OpAdjMultiply >::Type_t QDP::adjMultiply ( const PMatrix< T1, N, C1 > & l,
const PVector< T2, N, C2 > & r )
inline

◆ adjMultiply() [2/2]

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PScalar< T1 >, PVector< T2, N, C >, OpAdjMultiply >::Type_t QDP::adjMultiply ( const PScalar< T1 > & l,
const PVector< T2, N, C > & r )
inline

◆ cmplx()

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, FnCmplx >::Type_t QDP::cmplx ( const PVector< T1, N, C > & s1,
const PVector< T2, N, C > & s2 )
inline

PVector<T> = (PVector<T> , PVector<T>).

Definition at line 529 of file qdp_primvector.h.

References cmplx(), and QDP::PVector< T, N, C >::elem().

◆ conj()

template<class T1, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnConjugate >::Type_t QDP::conj ( const PVector< T1, N, C > & l)
inline

Definition at line 620 of file qdp_primvector.h.

References conj(), and QDP::PVector< T, N, C >::elem().

◆ copy_site() [1/2]

template<class T, class T1, int N, template< class, int > class C>
void QDP::copy_site ( PVector< T, N, C > & d,
int isite,
const PScalar< T1 > & s1 )
inline

dest [some type] = source [some type]

Definition at line 807 of file qdp_primvector.h.

References copy_site(), QDP::PScalar< T >::elem(), and QDP::PVector< T, N, C >::elem().

◆ copy_site() [2/2]

template<class T, class T1, int N, template< class, int > class C>
void QDP::copy_site ( PVector< T, N, C > & d,
int isite,
const PVector< T1, N, C > & s1 )
inline

dest [some type] = source [some type]

Definition at line 798 of file qdp_primvector.h.

References copy_site(), and QDP::PVector< T, N, C >::elem().

◆ copymask()

template<class T, class T1, int N, template< class, int > class C>
void QDP::copymask ( PVector< T, N, C > & d,
const PScalar< T1 > & mask,
const PVector< T, N, C > & s1 )
inline

dest = (mask) ? s1 : dest

Definition at line 788 of file qdp_primvector.h.

References copymask(), QDP::PScalar< T >::elem(), and QDP::PVector< T, N, C >::elem().

◆ fill_gaussian()

template<class T, int N, template< class, int > class C>
void QDP::fill_gaussian ( PVector< T, N, C > & d,
PVector< T, N, C > & r1,
PVector< T, N, C > & r2 )
inline

dest = gaussian

Definition at line 846 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and fill_gaussian().

◆ fill_random()

template<class T, int N, template< class, int > class C, class T1, class T2>
void QDP::fill_random ( PVector< T, N, C > & d,
T1 & seed,
T2 & skewed_seed,
const T1 & seed_mult )
inline

dest = random

Definition at line 835 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and fill_random().

◆ gather_sites()

template<class T, class T1, int N, template< class, int > class C>
void QDP::gather_sites ( PVector< T, N, C > & d,
const PVector< T1, N, C > & s0,
int i0,
const PVector< T1, N, C > & s1,
int i1,
const PVector< T1, N, C > & s2,
int i2,
const PVector< T1, N, C > & s3,
int i3 )
inline

gather several inner sites together

Definition at line 817 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and gather_sites().

◆ getSite()

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnGetSite >::Type_t QDP::getSite ( const PVector< T, N, C > & s1,
int innersite )
inline

dest [some type] = source [some type]

Portable (internal) way of returning a single site

Definition at line 661 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and getSite().

◆ imag()

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnImag >::Type_t QDP::imag ( const PVector< T, N, C > & s1)
inline

PVector = Im(PVector).

Definition at line 515 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and imag().

◆ isfinite()

template<class T1, int N, template< class, int > class C>
bool QDP::isfinite ( const PVector< T1, N, C > & l)
inline

Definition at line 604 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and isfinite().

◆ isinf()

template<class T1, int N, template< class, int > class C>
bool QDP::isinf ( const PVector< T1, N, C > & l)
inline

Definition at line 568 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and isinf().

◆ isnan()

template<class T1, int N, template< class, int > class C>
bool QDP::isnan ( const PVector< T1, N, C > & l)
inline

Definition at line 550 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and isnan().

◆ isnormal()

template<class T1, int N, template< class, int > class C>
bool QDP::isnormal ( const PVector< T1, N, C > & l)
inline

Definition at line 586 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and isnormal().

◆ localInnerProduct()

template<class T1, class T2, int N, template< class, int > class C>
PScalar< typename BinaryReturn< T1, T2, FnLocalInnerProduct >::Type_t > QDP::localInnerProduct ( const PVector< T1, N, C > & s1,
const PVector< T2, N, C > & s2 )
inline

◆ localInnerProductReal()

template<class T1, class T2, int N, template< class, int > class C>
PScalar< typename BinaryReturn< T1, T2, FnLocalInnerProductReal >::Type_t > QDP::localInnerProductReal ( const PVector< T1, N, C > & s1,
const PVector< T2, N, C > & s2 )
inline

◆ localNorm2()

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnLocalNorm2 >::Type_t QDP::localNorm2 ( const PVector< T, N, C > & s1)
inline

Definition at line 887 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and localNorm2().

◆ multiplyAdj()

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpMultiplyAdj >::Type_t QDP::multiplyAdj ( const PVector< T1, N, C > & l,
const PScalar< T2 > & r )
inline

◆ operator*() [1/3]

template<class T1, class T2, int N, template< class, int > class C1, template< class, int > class C2>
BinaryReturn< PMatrix< T1, N, C1 >, PVector< T2, N, C2 >, OpMultiply >::Type_t QDP::operator* ( const PMatrix< T1, N, C1 > & l,
const PVector< T2, N, C2 > & r )
inline

◆ operator*() [2/3]

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PScalar< T1 >, PVector< T2, N, C >, OpMultiply >::Type_t QDP::operator* ( const PScalar< T1 > & l,
const PVector< T2, N, C > & r )
inline

Definition at line 428 of file qdp_primvector.h.

References QDP::PScalar< T >::elem(), and QDP::PVector< T, N, C >::elem().

◆ operator*() [3/3]

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpMultiply >::Type_t QDP::operator* ( const PVector< T1, N, C > & l,
const PScalar< T2 > & r )
inline

Definition at line 403 of file qdp_primvector.h.

References QDP::PScalar< T >::elem(), and QDP::PVector< T, N, C >::elem().

◆ operator+() [1/2]

template<class T1, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, OpUnaryPlus >::Type_t QDP::operator+ ( const PVector< T1, N, C > & l)
inline

Definition at line 354 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator+() [2/2]

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpAdd >::Type_t QDP::operator+ ( const PVector< T1, N, C > & l,
const PVector< T2, N, C > & r )
inline

Definition at line 378 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator-() [1/2]

template<class T1, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, OpUnaryMinus >::Type_t QDP::operator- ( const PVector< T1, N, C > & l)
inline

Definition at line 366 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator-() [2/2]

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpSubtract >::Type_t QDP::operator- ( const PVector< T1, N, C > & l,
const PVector< T2, N, C > & r )
inline

Definition at line 390 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator/()

template<class T1, class T2, int N, template< class, int > class C>
BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpDivide >::Type_t QDP::operator/ ( const PVector< T1, N, C > & l,
const PScalar< T2 > & r )
inline

Definition at line 487 of file qdp_primvector.h.

References QDP::PScalar< T >::elem(), and QDP::PVector< T, N, C >::elem().

◆ operator<<() [1/3]

template<class T, int N, template< class, int > class C>
StandardOutputStream & QDP::operator<< ( StandardOutputStream & s,
const PVector< T, N, C > & d )
inline

Stream output.

Definition at line 170 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator<<() [2/3]

template<class T, int N, template< class, int > class C>
std::ostream & QDP::operator<< ( std::ostream & s,
const PVector< T, N, C > & d )
inline

Stream output.

Definition at line 159 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator<<() [3/3]

template<class T, int N, template< class, int > class C>
TextWriter & QDP::operator<< ( TextWriter & txt,
const PVector< T, N, C > & d )
inline

Text output.

Definition at line 193 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator>>() [1/3]

template<class T, int N, template< class, int > class C>
StandardInputStream & QDP::operator>> ( StandardInputStream & s,
PVector< T, N, C > & d )
inline

Definition at line 148 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator>>() [2/3]

template<class T, int N, template< class, int > class C>
std::istream & QDP::operator>> ( std::istream & s,
PVector< T, N, C > & d )
inline

Stream input.

Definition at line 138 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ operator>>() [3/3]

template<class T, int N, template< class, int > class C>
TextReader & QDP::operator>> ( TextReader & txt,
PVector< T, N, C > & d )
inline

Text input.

Definition at line 182 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem().

◆ peekColor() [1/2]

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekColorVector >::Type_t QDP::peekColor ( const PVector< T, N, C > & l,
int row )
inline

Extract color vector components.

Generically, this is an identity operation. Defined differently under color

Definition at line 675 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and peekColor().

◆ peekColor() [2/2]

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekColorMatrix >::Type_t QDP::peekColor ( const PVector< T, N, C > & l,
int row,
int col )
inline

Extract color matrix components.

Generically, this is an identity operation. Defined differently under color

Definition at line 688 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and peekColor().

◆ peekSpin() [1/2]

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekSpinVector >::Type_t QDP::peekSpin ( const PVector< T, N, C > & l,
int row )
inline

Extract spin vector components.

Generically, this is an identity operation. Defined differently under spin

Definition at line 701 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and peekSpin().

◆ peekSpin() [2/2]

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnPeekSpinMatrix >::Type_t QDP::peekSpin ( const PVector< T, N, C > & l,
int row,
int col )
inline

Extract spin matrix components.

Generically, this is an identity operation. Defined differently under spin

Definition at line 714 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and peekSpin().

◆ pokeColor() [1/2]

template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeColorVector >::Type_t & QDP::pokeColor ( PVector< T1, N, C > & l,
const PVector< T2, N, C > & r,
int row )
inline

Insert color vector components.

Generically, this is an identity operation. Defined differently under color

Definition at line 727 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and pokeColor().

◆ pokeColor() [2/2]

template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeColorVector >::Type_t & QDP::pokeColor ( PVector< T1, N, C > & l,
const PVector< T2, N, C > & r,
int row,
int col )
inline

Insert color matrix components.

Generically, this is an identity operation. Defined differently under color

Definition at line 740 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and pokeColor().

◆ pokeSpin() [1/2]

template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeSpinVector >::Type_t & QDP::pokeSpin ( PVector< T1, N, C > & l,
const PVector< T2, N, C > & r,
int row )
inline

Insert spin vector components.

Generically, this is an identity operation. Defined differently under spin

Definition at line 753 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and pokeSpin().

◆ pokeSpin() [2/2]

template<class T1, class T2, int N, template< class, int > class C>
UnaryReturn< PVector< T1, N, C >, FnPokeSpinVector >::Type_t & QDP::pokeSpin ( PVector< T1, N, C > & l,
const PVector< T2, N, C > & r,
int row,
int col )
inline

Insert spin matrix components.

Generically, this is an identity operation. Defined differently under spin

Definition at line 766 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and pokeSpin().

◆ real()

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnReal >::Type_t QDP::real ( const PVector< T, N, C > & s1)
inline

PVector = Re(PVector).

Definition at line 501 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and real().

◆ timesI()

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnTimesI >::Type_t QDP::timesI ( const PVector< T, N, C > & s1)
inline

PVector = i * PVector.

Definition at line 633 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and timesI().

◆ timesMinusI()

template<class T, int N, template< class, int > class C>
UnaryReturn< PVector< T, N, C >, FnTimesMinusI >::Type_t QDP::timesMinusI ( const PVector< T, N, C > & s1)
inline

PVector = -i * PVector.

Definition at line 646 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and timesMinusI().

◆ where()

template<class T1, class T2, class T3, int N, template< class, int > class C>
TrinaryReturn< PScalar< T1 >, PVector< T2, N, C >, PVector< T3, N, C >, FnWhere >::Type_t QDP::where ( const PScalar< T1 > & a,
const PVector< T2, N, C > & b,
const PVector< T3, N, C > & c )
inline

◆ zero_rep()

template<class T, int N, template< class, int > class C>
void QDP::zero_rep ( PVector< T, N, C > & dest)
inline

dest = 0

Definition at line 779 of file qdp_primvector.h.

References QDP::PVector< T, N, C >::elem(), and zero_rep().