Public Member Functions | |
| BlockIndices (const unsigned int n_blocks=0) | |
| BlockIndices (const std::vector< unsigned int > &n) | |
| void | reinit (const unsigned int n_blocks, const unsigned int n_elements_per_block) |
| void | reinit (const std::vector< unsigned int > &n) |
| std::pair< unsigned int, unsigned int > | global_to_local (const unsigned int i) const |
| unsigned int | local_to_global (const unsigned int block, const unsigned int index) const |
| unsigned int | size () const |
| unsigned int | total_size () const |
| unsigned int | block_size (const unsigned int i) const |
| unsigned int | block_start (const unsigned int i) const |
| BlockIndices & | operator= (const BlockIndices &b) |
| bool | operator== (const BlockIndices &b) const |
| void | swap (BlockIndices &b) |
| unsigned int | memory_consumption () const |
Private Attributes | |
| unsigned int | n_blocks |
| std::vector< unsigned int > | start_indices |
Related Functions | |
| (Note that these are not member functions.) | |
| void | swap (BlockIndices &u, BlockIndices &v) |
Default constructor. Initialize for n_blocks blocks and set all block sizes to zero.
References start_indices.
Constructor. Initialize the number of entries in each block i as n[i]. The number of blocks will be the size of the vector
References reinit().
| void BlockIndices::reinit | ( | const unsigned int | n_blocks, | |
| const unsigned int | n_elements_per_block | |||
| ) | [inline] |
Reinitialize the number of blocks and assign each block the same number of elements.
Referenced by BlockIndices(), PETScWrappers::MPI::BlockVector::reinit(), and PETScWrappers::BlockVector::reinit().
Reinitialize the number of indices within each block from the given argument. The number of blocks will be adjusted to the size of n and the size of block i is set to n[i].
References n_blocks, and start_indices.
| std::pair< unsigned int, unsigned int > BlockIndices::global_to_local | ( | const unsigned int | i | ) | const [inline] |
Return the block and the index within that block for the global index i. The first element of the pair is the block, the second the index within it.
References Assert, n_blocks, start_indices, and total_size().
Referenced by BlockSparsityPatternBase< SparsityPatternBase >::add(), BlockSparseMatrixEZ< Number >::add(), BlockSparsityPatternBase< SparsityPatternBase >::exists(), BlockSparsityPatternBase< SparsityPatternBase >::row_length(), and BlockSparseMatrixEZ< Number >::set().
| unsigned int BlockIndices::local_to_global | ( | const unsigned int | block, | |
| const unsigned int | index | |||
| ) | const [inline] |
Return the global index of index in block block.
References Assert, n_blocks, and start_indices.
Number of blocks in index field.
References n_blocks.
Referenced by PETScWrappers::BlockVector::BlockVector(), BlockSparseMatrixEZ< Number >::n_block_cols(), and BlockSparseMatrixEZ< Number >::n_block_rows().
Return the total number of indices accumulated over all blocks, that is, the dimension of the vector space of the block vector.
References n_blocks, and start_indices.
Referenced by global_to_local(), BlockSparseMatrixEZ< Number >::n_cols(), and BlockSparseMatrixEZ< Number >::n_rows().
The size of the ith block.
References Assert, n_blocks, and start_indices.
The start index of the ith block.
References Assert, n_blocks, and start_indices.
| BlockIndices & BlockIndices::operator= | ( | const BlockIndices & | b | ) | [inline] |
Copy operator.
References n_blocks, and start_indices.
| bool BlockIndices::operator== | ( | const BlockIndices & | b | ) | const [inline] |
Compare whether two objects are the same, i.e. whether the starting indices of all blocks are equal.
References n_blocks, and start_indices.
| void BlockIndices::swap | ( | BlockIndices & | b | ) | [inline] |
Swap the contents of these two objects.
References Assert, n_blocks, start_indices, and swap().
Referenced by swap().
Determine an estimate for the memory consumption (in bytes) of this object.
References start_indices.
| void swap | ( | BlockIndices & | u, | |
| BlockIndices & | v | |||
| ) | [related] |
Global function swap which overloads the default implementation of the C++ standard library which uses a temporary object. The function simply exchanges the data of the two objects.
References swap().
unsigned int BlockIndices::n_blocks [private] |
Number of blocks. While this value could be obtained through start_indices.size()-1, we cache this value for faster access.
Referenced by block_size(), block_start(), global_to_local(), local_to_global(), operator=(), operator==(), reinit(), size(), swap(), and total_size().
std::vector<unsigned int> BlockIndices::start_indices [private] |
Global starting index of each vector. The last and redundant value is the total number of entries.
Referenced by block_size(), block_start(), BlockIndices(), global_to_local(), local_to_global(), memory_consumption(), operator=(), operator==(), reinit(), swap(), and total_size().
documentation generated on Fri Nov 21 07:12:50 2008 by
doxygen
1.5.6