next up previous contents
Next: class IrregRange Up: class BlockCyclicRange Previous: class BlockCyclicRange

Constructors

BlockCyclicRange(const int extent, Dimension dim,
                 const int blockSize)
Creates a block-cyclically-distributed range of extent extent distributed cyclically over dimension dim with block-size blockSize. The constructed block-cyclic range is a template range. The number of blocks is

  numBlocks = (extent + blockSize - 1) / blockSize

The kernel of the range is a simple cyclically-distributed template range with number of cycles given by

  numCycles = (numBlocks + dim.size() - 1) / dim.size()

The extent of the kernel range is thus

  numCycles * dim.size().

The detailed structure of a block-cyclic range can be discovered with the aid of the lev and ker inquiries.



Guansong Zhang
Fri Oct 9 12:29:23 EDT 1998