QDP++
qdp_primvector.h File Reference

Primitive Vector. More...

Go to the source code of this file.

Classes

class  QDP::PVector< T, N, C >
 Primitive Vector class. More...
struct  QDP::WordType< PVector< T1, N, C > >
struct  QDP::SinglePrecType< PVector< T1, N, C > >
struct  QDP::DoublePrecType< PVector< T1, N, C > >
struct  QDP::InternalScalar< PVector< T, N, C > >
struct  QDP::PrimitiveScalar< PVector< T, N, C > >
struct  QDP::LatticeScalar< PVector< T, N, C > >
struct  QDP::UnaryReturn< PVector< T1, N, C >, Op >
struct  QDP::BinaryReturn< PScalar< T1 >, PVector< T2, N, C >, Op >
struct  QDP::BinaryReturn< PMatrix< T1, N, C1 >, PVector< T2, N, C2 >, Op >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, Op >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, Op >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpAssign >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpAddAssign >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PVector< T2, N, C >, OpSubtractAssign >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpMultiplyAssign >
struct  QDP::BinaryReturn< PVector< T1, N, C >, PScalar< T2 >, OpDivideAssign >
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...

Namespaces

namespace  QDP
 Yet another random number generator.

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 Vector.

Definition in file qdp_primvector.h.