escript  Revision_
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Block Class Reference

#include <blocktools.h>

Public Member Functions

 Block (size_t sx, size_t sy, size_t sz, size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen, unsigned int dpp=1)
 
 ~Block ()
 
double * getOutBuffer (unsigned char subx, unsigned char suby, unsigned char subz)
 
double * getOutBuffer (unsigned char bid)
 
double * getInBuffer (unsigned char subx, unsigned char suby, unsigned char subz)
 
double * getInBuffer (unsigned char bid)
 
size_t getBuffSize (unsigned char subx, unsigned char suby, unsigned char subz)
 
size_t getBuffSize (unsigned char bid)
 
size_t startOffset (unsigned char subx, unsigned char suby, unsigned char subz)
 
void displayBlock (unsigned char subx, unsigned char suby, unsigned char subz, bool out)
 
void copyToBuffer (unsigned char buffid, double *src)
 
void copyFromBuffer (unsigned char buffid, double *dest)
 
void copyAllToBuffer (double *src)
 
void copyUsedFromBuffer (double *dest)
 
void setUsed (unsigned char buffid)
 

Private Member Functions

void populateDimsTable ()
 
void populateOffsetTable (size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
 
void createBuffArrays (double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
 

Private Attributes

double * inbuff
 
double * outbuff
 
size_t buffoffsets [27]
 
size_t flatoffsets [27]
 
bool used [27]
 
size_t dims [27][3]
 
size_t sx
 
size_t sy
 
size_t sz
 
size_t inset
 
size_t xmidlen
 
size_t ymidlen
 
size_t zmidlen
 
double * inbuffptr [27]
 
double * outbuffptr [27]
 
const unsigned int dpsize
 

Constructor & Destructor Documentation

◆ Block()

Block::Block ( size_t  sx,
size_t  sy,
size_t  sz,
size_t  inset,
size_t  xmidlen,
size_t  ymidlen,
size_t  zmidlen,
unsigned int  dpp = 1 
)

◆ ~Block()

Block::~Block ( )

Member Function Documentation

◆ copyAllToBuffer()

void Block::copyAllToBuffer ( double *  src)

◆ copyFromBuffer()

void Block::copyFromBuffer ( unsigned char  buffid,
double *  dest 
)

◆ copyToBuffer()

void Block::copyToBuffer ( unsigned char  buffid,
double *  src 
)

◆ copyUsedFromBuffer()

void Block::copyUsedFromBuffer ( double *  dest)

◆ createBuffArrays()

void Block::createBuffArrays ( double *  startaddress,
double *  buffptr[27],
size_t  inset,
size_t  xmidlen,
size_t  ymidlen,
size_t  zmidlen 
)
private

Referenced by Block().

◆ displayBlock()

void Block::displayBlock ( unsigned char  subx,
unsigned char  suby,
unsigned char  subz,
bool  out 
)

References dims, dpsize, inbuffptr, and outbuffptr.

◆ getBuffSize() [1/2]

size_t Block::getBuffSize ( unsigned char  subx,
unsigned char  suby,
unsigned char  subz 
)

◆ getBuffSize() [2/2]

size_t Block::getBuffSize ( unsigned char  bid)

◆ getInBuffer() [1/2]

double * Block::getInBuffer ( unsigned char  subx,
unsigned char  suby,
unsigned char  subz 
)

◆ getInBuffer() [2/2]

double * Block::getInBuffer ( unsigned char  bid)

◆ getOutBuffer() [1/2]

double * Block::getOutBuffer ( unsigned char  subx,
unsigned char  suby,
unsigned char  subz 
)

◆ getOutBuffer() [2/2]

double * Block::getOutBuffer ( unsigned char  bid)

◆ populateDimsTable()

void Block::populateDimsTable ( )
private

Referenced by Block().

◆ populateOffsetTable()

void Block::populateOffsetTable ( size_t  inset,
size_t  xmidlen,
size_t  ymidlen,
size_t  zmidlen 
)
private

Referenced by Block().

◆ setUsed()

void Block::setUsed ( unsigned char  buffid)

◆ startOffset()

size_t Block::startOffset ( unsigned char  subx,
unsigned char  suby,
unsigned char  subz 
)

References dpsize, inset, xmidlen, ymidlen, and zmidlen.

Referenced by copyFromBuffer(), and copyToBuffer().

Member Data Documentation

◆ buffoffsets

size_t Block::buffoffsets[27]
private

◆ dims

size_t Block::dims[27][3]
private

◆ dpsize

const unsigned int Block::dpsize
private

◆ flatoffsets

size_t Block::flatoffsets[27]
private

◆ inbuff

double* Block::inbuff
private

Referenced by Block().

◆ inbuffptr

double* Block::inbuffptr[27]
private

Referenced by Block(), copyFromBuffer(), and displayBlock().

◆ inset

size_t Block::inset
private

◆ outbuff

double* Block::outbuff
private

Referenced by Block().

◆ outbuffptr

double* Block::outbuffptr[27]
private

Referenced by Block(), copyToBuffer(), and displayBlock().

◆ sx

size_t Block::sx
private

Referenced by Block().

◆ sy

size_t Block::sy
private

Referenced by Block().

◆ sz

size_t Block::sz
private

Referenced by Block().

◆ used

bool Block::used[27]
private

Referenced by Block().

◆ xmidlen

size_t Block::xmidlen
private

◆ ymidlen

size_t Block::ymidlen
private

◆ zmidlen

size_t Block::zmidlen
private

Referenced by Block(), and startOffset().


The documentation for this class was generated from the following files: