18#ifndef __RIPLEY_BLOCKTOOLS_H__
19#define __RIPLEY_BLOCKTOOLS_H__
58#include <escript/EsysMPI.h>
130 double*
getOutBuffer(
unsigned char subx,
unsigned char suby,
unsigned char subz);
135 double*
getInBuffer(
unsigned char subx,
unsigned char suby,
unsigned char subz);
139 size_t getBuffSize(
unsigned char subx,
unsigned char suby,
unsigned char subz);
143 size_t startOffset(
unsigned char subx,
unsigned char suby,
unsigned char subz);
146 void displayBlock(
unsigned char subx,
unsigned char suby,
unsigned char subz,
bool out);
159 void setUsed(
unsigned char buffid);
188int getTag(
unsigned char sourcex,
unsigned char sourcey,
unsigned char sourcez,
189 unsigned char targetx,
unsigned char targety,
unsigned char targetz);
193int getTag(
unsigned char destx,
unsigned char desty,
unsigned char destz,
194 bool deltax,
bool deltay,
bool deltaz);
198unsigned char getSrcBuffID(
unsigned char destx,
unsigned char desty,
199 unsigned char destz,
bool deltax,
bool deltay,
231 size_t ymidlen,
unsigned int dpp=1);
237 double*
getOutBuffer(
unsigned char subx,
unsigned char suby);
242 double*
getInBuffer(
unsigned char subx,
unsigned char suby);
246 size_t getBuffSize(
unsigned char subx,
unsigned char suby);
250 size_t startOffset(
unsigned char subx,
unsigned char suby);
253 void displayBlock(
unsigned char subx,
unsigned char suby,
bool out);
266 void setUsed(
unsigned char buffid);
294int getTag2(
unsigned char sourcex,
unsigned char sourcey,
unsigned char targetx,
unsigned char targety);
298int getTag2(
unsigned char destx,
unsigned char desty,
bool deltax,
bool deltay);
302unsigned char getSrcBuffID2(
unsigned char destx,
unsigned char desty,
bool deltax,
bool deltay);
Definition blocktools.h:227
size_t inset
Definition blocktools.h:284
double * getOutBuffer(unsigned char subx, unsigned char suby)
Definition blocktools2.cpp:101
size_t xmidlen
Definition blocktools.h:285
void populateDimsTable()
Definition blocktools2.cpp:166
void populateOffsetTable(size_t inset, size_t xmidlen, size_t ymidlen)
Definition blocktools2.cpp:184
void displayBlock(unsigned char subx, unsigned char suby, bool out)
Definition blocktools2.cpp:289
size_t dims[9][2]
Definition blocktools.h:281
void createBuffArrays(double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen)
Definition blocktools2.cpp:206
const unsigned int dpsize
Definition blocktools.h:289
size_t flatoffsets[9]
Definition blocktools.h:279
size_t getBuffSize(unsigned char subx, unsigned char suby)
Definition blocktools2.cpp:121
~Block2()
Definition blocktools2.cpp:160
size_t buffoffsets[9]
Definition blocktools.h:278
void copyAllToBuffer(double *src)
Definition blocktools2.cpp:221
size_t sx
Definition blocktools.h:282
size_t startOffset(unsigned char subx, unsigned char suby)
Definition blocktools2.cpp:277
void copyToBuffer(unsigned char buffid, double *src)
Definition blocktools2.cpp:318
void copyUsedFromBuffer(double *dest)
Definition blocktools2.cpp:234
void setUsed(unsigned char buffid)
Definition blocktools2.cpp:216
double * outbuffptr[9]
Definition blocktools.h:288
double * inbuffptr[9]
Definition blocktools.h:287
size_t sy
Definition blocktools.h:283
double * inbuff
Definition blocktools.h:276
void copyFromBuffer(unsigned char buffid, double *dest)
Definition blocktools2.cpp:346
double * outbuff
Definition blocktools.h:277
double * getInBuffer(unsigned char subx, unsigned char suby)
Definition blocktools2.cpp:111
size_t ymidlen
Definition blocktools.h:286
bool used[9]
Definition blocktools.h:280
Definition blocktools.h:207
coord_t xmax
Definition blocktools.h:221
void generateOutNeighbours(coord_t blockx, coord_t blocky, messvec &v)
Definition blocktools2.cpp:68
void generateInNeighbours(coord_t blockx, coord_t blocky, messvec &v)
Definition blocktools2.cpp:35
neighbourID_t getNID(coord_t x, coord_t y) const
Definition blocktools2.cpp:28
coord_t ymax
Definition blocktools.h:222
Definition blocktools.h:83
coord_t zmax
Definition blocktools.h:101
neighbourID_t getNID(coord_t x, coord_t y, coord_t z) const
Definition blocktools.cpp:29
coord_t ymax
Definition blocktools.h:100
void generateInNeighbours(coord_t blockx, coord_t blocky, coord_t blockz, messvec &v)
Definition blocktools.cpp:44
coord_t xmax
Definition blocktools.h:99
void generateOutNeighbours(coord_t blockx, coord_t blocky, coord_t blockz, messvec &v)
Definition blocktools.cpp:83
Definition blocktools.h:120
size_t getBuffSize(unsigned char subx, unsigned char suby, unsigned char subz)
Definition blocktools.cpp:143
bool used[27]
Definition blocktools.h:173
void copyToBuffer(unsigned char buffid, double *src)
Definition blocktools.cpp:358
~Block()
Definition blocktools.cpp:182
size_t ymidlen
Definition blocktools.h:180
size_t dims[27][3]
Definition blocktools.h:174
double * getOutBuffer(unsigned char subx, unsigned char suby, unsigned char subz)
Definition blocktools.cpp:123
void copyFromBuffer(unsigned char buffid, double *dest)
Definition blocktools.cpp:387
void displayBlock(unsigned char subx, unsigned char suby, unsigned char subz, bool out)
Definition blocktools.cpp:324
void createBuffArrays(double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
Definition blocktools.cpp:237
void setUsed(unsigned char buffid)
Definition blocktools.cpp:247
size_t zmidlen
Definition blocktools.h:181
double * getInBuffer(unsigned char subx, unsigned char suby, unsigned char subz)
Definition blocktools.cpp:133
size_t inset
Definition blocktools.h:178
const unsigned int dpsize
Definition blocktools.h:184
size_t xmidlen
Definition blocktools.h:179
size_t sz
Definition blocktools.h:177
void populateOffsetTable(size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
Definition blocktools.cpp:215
size_t buffoffsets[27]
Definition blocktools.h:171
size_t sy
Definition blocktools.h:176
size_t sx
Definition blocktools.h:175
size_t flatoffsets[27]
Definition blocktools.h:172
double * inbuff
Definition blocktools.h:169
void copyUsedFromBuffer(double *dest)
Definition blocktools.cpp:265
double * inbuffptr[27]
Definition blocktools.h:182
size_t startOffset(unsigned char subx, unsigned char suby, unsigned char subz)
Definition blocktools.cpp:310
void copyAllToBuffer(double *src)
Definition blocktools.cpp:252
void populateDimsTable()
Definition blocktools.cpp:188
double * outbuffptr[27]
Definition blocktools.h:183
double * outbuff
Definition blocktools.h:170
Definition blocktools.h:70
unsigned char destbuffid
Definition blocktools.h:76
unsigned char srcbuffid
Definition blocktools.h:75
neighbourID_t destID
Definition blocktools.h:73
int tag
Definition blocktools.h:74
neighbourID_t sourceID
Definition blocktools.h:72