43 template<
class T1,
unsigned Dim,
class S,
class RHS,
class OP>
47 typename RHS::Wrapped& bb = b.PETE_unwrap();
53 int lhs_id =
a.getBareField().get_Id();
61 "Sparse-Indexed expressions must use consistent indexing.");
65 a.makeNDIndex(boundBox);
116 if (sba.findIntersection(lf->
getOwned(), local_domain)) {
123 if (sba.DomainCompressed() &&
125 a.getBareField().compressible() &&
135 sba.setLFieldData(lf, local_domain);
136 ExprT(sba,bb).apply();
145 ERRORMSG(
"All Fields in an expression must be aligned. ");
147 ERRORMSG(
"This error occurred while evaluating an SIndex-expression ");
156 (*la).second->swapData( *lf );
161 la = sba.nextLField();
166 a.getBareField().setDirtyFlag();
167 a.getBareField().fillGuardCellsIfNotDirty();
171 a.getBareField().Compress();
bool TryCompressLHS(LField< T, Dim > &, A &, Op, const NDIndex< Dim > &)
bool for_each(const BareFieldIterator< T, D > &p, SameFieldID s, C)
FillGCIfNecessaryTag< D, T1 > FillGCIfNecessary(const BareField< T1, D > &bf)
void PETE_apply(const OpPeriodic< T > &, T &a, const T &b)
PETE_Combiner< bool, OpOr > PETE_OrCombiner
PETE_Combiner< bool, OpAnd > PETE_AndCombiner
void assign(SubBareField< T1, Dim, S > a, RHS b, OP op, ExprTag< true >)
Inform & endl(Inform &inf)
#define INCIPPLSTAT(stat)
ac_id_larray::iterator iterator_if
const NDIndex< Dim > & getOwned() const
bool TryCompress(bool baseOnPhysicalCells=false)
const iterator & begin() const
void Uncompress(bool fill_domain=true)
static bool extraCompressChecks
static void abort(const char *=0)