7#ifndef QDP_OUTERSUBTYPE_H
8#define QDP_OUTERSUBTYPE_H
46 template<
class T1,
class C1>
53 template<
class T1,
class C1>
74 T*
getF()
const {
return F;}
103 ownsMemory = a.ownsMemory;
108 for(
int i = 0 ; i < s->numSiteTable() ; ++i )
121 if (F && !ownsMemory)
122 QDP_error_exit(
"You try to set the subset on an OSubLattice that is a view of an OLattice!");
126 s = &(
const_cast<Subset&
>(ss));
134 const int *tab = s->siteTable().slice();
135 for(
int j = 0 ; j < s->numSiteTable() ; ++j ) {
148 catch(std::bad_alloc)
150 QDPIO::cerr <<
"Allocation failed in OSubLattice" << std::endl;
187 template<
class T1,
class C1>
194 template<
class T1,
class C1>
320template<
class T1,
class T2>
void free(void *mem)
Free an aligned pointer, which was allocated by us.
Outer grid Scalar class */.
OLattice class narrowed to a subset.
void operator=(const OSubLattice &rhs)
void operator=(const Zero &rhs)
void operator=(const QDPType< T1, C1 > &rhs)
OSubLattice(OLattice< T > &a, const Subset &ss)
void operator=(const typename WordType< T >::Type_t &rhs)
void setSubset(const Subset &ss)
const Subset & subset() const
bool getOwnsMemory() const
OSubLattice(const Subset &ss, OLattice< T > &a)
void operator=(const QDPExpr< T1, C1 > &rhs)
OSubLattice(const OSubLattice &a)
OScalar class narrowed to a subset.
OSubScalar(OScalar< T > &a, const Subset &ss)
void operator=(const QDPExpr< T1, C1 > &rhs)
OSubScalar(const OSubScalar &a)
void operator=(const Zero &rhs)
void operator=(const OSubScalar &rhs)
void operator=(const QDPType< T1, C1 > &rhs)
const Subset & subset() const
bool getOwnsMemory() const
void operator=(const typename WordType< T >::Type_t &rhs)
Expression class for QDP.
void assign(const typename WordType< OScalar< T > >::Type_t &rhs)
QDPType - major type class/container for all QDP objects.
static QDP::Allocator::QDPDefaultAllocator & Instance()
Subsets - controls how lattices are looped.
void fill_gaussian(IScalar< T > &d, IScalar< T > &r1, IScalar< T > &r2)
dest = gaussian
void zero_rep(IScalar< T > &dest)
dest = 0
void copymask(IScalar< T > &d, const IScalar< T1 > &mask, const IScalar< T > &s1)
dest = (mask) ? s1 : dest
void gaussian(OSubScalar< T > &d)
dest = gaussian
void random(OScalar< T > &d)
dest = random
StandardOutputStream cerr
Yet another random number generator.
void QDP_error_exit(const char *format,...)
Simple error display and abort routine.
void QDP_abort(int status)
Panic button.
Catch-alls for all memory allocators.
OSubLattice< typename DoublePrecType< T >::Type_t > Type_t
OSubScalar< typename DoublePrecType< T >::Type_t > Type_t
OSubLattice< typename SinglePrecType< T >::Type_t > Type_t
OSubScalar< typename SinglePrecType< T >::Type_t > Type_t
WordType< T >::Type_t Type_t
WordType< T >::Type_t Type_t
Find the underlying word type of a field.