28 #ifndef MAT_SIZESANDBLOCKS 29 #define MAT_SIZESANDBLOCKS 49 int const nScalarsInp)
97 int const nScalarsInp,
99 int const nTotalScalarsInp)
101 nScalars(nScalarsInp), offset(offsetInp),
102 nTotalScalars(nTotalScalarsInp) {
103 setup(blockSizesInp);
106 void setup(std::vector<int>
const & blockSizesInp);
int whichBlock(int const globalIndex) const
Returns the blocknumber (between 0 and nBlocks-1) that contains elements with the given global index...
Definition: SizesAndBlocks.h:71
SizesAndBlocks getSizesAndBlocksForLowerLevel(int const blockNumber) const
Definition: SizesAndBlocks.cc:63
void getBlockSizeVector(std::vector< int > &blockSizesCopy) const
Definition: SizesAndBlocks.cc:79
int getOffset() const
Definition: SizesAndBlocks.h:75
int getNTotalScalars() const
Definition: SizesAndBlocks.h:76
int nScalars
Number of scalars in the current block.
Definition: SizesAndBlocks.h:92
~SizesAndBlocks()
Definition: SizesAndBlocks.h:77
int offset
Offset in entire system.
Definition: SizesAndBlocks.h:93
Definition: allocate.cc:30
Describes dimensions of matrix and its blocks on all levels.
Definition: SizesAndBlocks.h:37
bool operator==(SizesAndBlocks const &other) const
Definition: SizesAndBlocks.cc:48
void setup(std::vector< int > const &blockSizesInp)
Definition: SizesAndBlocks.cc:84
bool is_empty() const
Definition: SizesAndBlocks.h:63
int const & getNScalars() const
Definition: SizesAndBlocks.h:65
std::vector< int > blockSizes
This is the number of scalars in each block, (not the number of blocks in each block) for each level ...
Definition: SizesAndBlocks.h:79
int nBlocks
This is the number of blocks in the current block.
Definition: SizesAndBlocks.h:87
int nTotalScalars
Total number of scalars in entire system.
Definition: SizesAndBlocks.h:94
SizesAndBlocks(std::vector< int > const &blockSizesInp, int const nScalarsInp, int const offsetInp, int const nTotalScalarsInp)
Definition: SizesAndBlocks.h:96
SizesAndBlocks()
Default constructor.
Definition: SizesAndBlocks.h:40
Copyright(c) Emanuel Rubensson 2006.
int const & getNBlocks() const
Definition: SizesAndBlocks.h:64
SizesAndBlocks(std::vector< int > const &blockSizesInp, int const nScalarsInp)
Constructor used for explicit calls.
Definition: SizesAndBlocks.h:48