SparseTileLayoutData<Dim>::SparseTileLayoutData(const Domain_t &bbox, const Partitioner &gpar, const ContextMapper<Dim> &cmap) : LayoutBaseData<Dim>(false,false, GuardLayers_t(0),GuardLayers_t(0), bbox,bbox), Observable<SparseTileLayoutData>(*this) { this->blocks_m = Loc<Dim>(); // Figure out if we have guards to worry about. if (gpar.hasInternalGuards() && gpar.maxSize() > 1) { this->hasInternalGuards_m = true; this->internalGuards_m = gpar.internalGuards(); } if (gpar.hasExternalGuards()) { this->hasExternalGuards_m = true; this->externalGuards_m = gpar.externalGuards(); GuardLayers<Dim>::addGuardLayers(this->domain_m,this->externalGuards_m); } initialize(bbox, gpar,cmap); }
UniformGridLayoutData<Dim>:: UniformGridLayoutData(const Domain_t &gdom, const Partitioner &gpar, const ContextMapper<Dim> & cmap ) : LayoutBaseData<Dim>(false, false, GuardLayers_t(0), GuardLayers_t(0), gdom, gdom), Observable<UniformGridLayoutData>(*this) { // Figure out if we have guards to worry about. if (gpar.hasInternalGuards() && gpar.maxSize() > 1) { this->hasInternalGuards_m = true; this->internalGuards_m = gpar.internalGuards(); } if (gpar.hasExternalGuards()) { this->hasExternalGuards_m = true; this->externalGuards_m = gpar.externalGuards(); GuardLayers<Dim>::addGuardLayers(this->domain_m,this->externalGuards_m); } // Do the partitioning. // This initializes allDomain_m, firsti_m, etc. partition(gpar,cmap); }