Compute the actual size of variable block size algebraic elements. More...
#include <core/alien/core/block/VBlockSizes.h>
Public Member Functions | |
| VBlockSizes (const VBlock &block, const VectorDistribution &dist) | |
| Constructor for vectors variable blocks. | |
| VBlockSizes (const VBlock &block, const MatrixDistribution &dist) | |
| Constructor for matrices variable blocks. | |
| ~VBlockSizes () | |
| Free resources. | |
| Arccore::Integer | localSize () const |
| Get the "scalarized" local size. | |
| Arccore::Integer | globalSize () const |
| Get the "scalarized" global size. | |
| Arccore::Integer | offset () const |
| Get the "scalarized" offset. | |
| std::shared_ptr< VBlockSizes > | clone () const |
| Copy this object. | |
Private Member Functions | |
| VBlockSizes (VBlockSizes &&block)=delete | |
| VBlockSizes & | operator= (const VBlockSizes &block)=delete |
| void | compute (const VBlock::ValuePerBlock &all_blocks_sizes, Arccore::Integer local_size, Arccore::Integer local_offset, Arccore::MessagePassing::IMessagePassingMng *parallel_mng) |
| Compute the actual sizes and offset of variable block size algebraic elements. | |
Private Attributes | |
| Arccore::Integer | m_local_scalarized_size |
| Scalarized local size. | |
| Arccore::Integer | m_global_scalarized_size |
| Scalarized global size. | |
| Arccore::Integer | m_scalarized_offset |
| Scalarized offset. | |
Compute the actual size of variable block size algebraic elements.
This class will refer to scalarized sizes, which means the actual size of the algebraic elements, as if it was not a block element. For exemple, a vector with two block 2x1 entries has a size of two and a scalarized size of four (2 elements for each block).
Definition at line 50 of file VBlockSizes.h.
| Alien::VBlockSizes::VBlockSizes | ( | const VBlock & | block, |
| const VectorDistribution & | dist ) |
Constructor for vectors variable blocks.
| [in] | Block related API | The variable blocks |
| [in] | dist | The vector distribution |
Definition at line 41 of file VBlockSizes.cc.
References Alien::VBlock::blockSizes(), compute(), localSize(), Alien::VectorDistribution::localSize(), Alien::VectorDistribution::offset(), and Alien::VectorDistribution::parallelMng().
| Alien::VBlockSizes::VBlockSizes | ( | const VBlock & | block, |
| const MatrixDistribution & | dist ) |
Constructor for matrices variable blocks.
| [in] | Block related API | The variable blocks |
| [in] | dist | The matrix distribution |
Definition at line 51 of file VBlockSizes.cc.
References Alien::VBlock::blockSizes(), compute(), Alien::MatrixDistribution::localRowSize(), localSize(), Alien::MatrixDistribution::parallelMng(), and Alien::MatrixDistribution::rowOffset().
|
inline |
Free resources.
Definition at line 68 of file VBlockSizes.h.
| std::shared_ptr< VBlockSizes > Alien::VBlockSizes::clone | ( | ) | const |
Copy this object.
References compute().
|
private |
Compute the actual sizes and offset of variable block size algebraic elements.
| [in] | all_block_size | All variable block size elements |
| [in] | local_size | Local size (where one block count as one) |
| [in] | local_offset | Local offset (where one block count as one) |
| [in] | parallel_mng | The parallel manager |
Definition at line 61 of file VBlockSizes.cc.
References localSize(), m_global_scalarized_size, m_local_scalarized_size, and m_scalarized_offset.
Referenced by clone(), VBlockSizes(), and VBlockSizes().
| Integer Alien::VBlockSizes::globalSize | ( | ) | const |
Get the "scalarized" global size.
Definition at line 100 of file VBlockSizes.cc.
References m_global_scalarized_size.
| Integer Alien::VBlockSizes::localSize | ( | ) | const |
Get the "scalarized" local size.
Definition at line 91 of file VBlockSizes.cc.
References m_local_scalarized_size.
Referenced by compute(), VBlockSizes(), and VBlockSizes().
| Integer Alien::VBlockSizes::offset | ( | ) | const |
Get the "scalarized" offset.
Definition at line 109 of file VBlockSizes.cc.
References m_scalarized_offset.
|
private |
Scalarized global size.
Definition at line 115 of file VBlockSizes.h.
Referenced by compute(), and globalSize().
|
private |
Scalarized local size.
Definition at line 113 of file VBlockSizes.h.
Referenced by compute(), and localSize().
|
private |
Scalarized offset.
Definition at line 117 of file VBlockSizes.h.