Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::VBlockImpl Class Referencefinal

Compute block offsets for variable block elements. More...

#include <core/alien/core/block/VBlockOffsets.h>

Collaboration diagram for Alien::VBlockImpl:

Classes

struct  Internal
 Internal structure for variable block offset computation tool. More...

Public Member Functions

 VBlockImpl (const VBlock &block, const VectorDistribution &dist)
 Constructor for vectors variable blocks.
 VBlockImpl (const VBlock &block, const MatrixDistribution &dist)
 Constructor for matrices variable blocks.
 ~VBlockImpl ()
 Free resources.
 VBlockImpl (const VBlockImpl &block)
 Copy constructor.
Arccore::Integer sizeFromLocalIndex (Arccore::Integer index) const
 Get the block size from a local index.
Arccore::Integer offsetFromLocalIndex (Arccore::Integer index) const
 Get the offset from a local index.
Arccore::Integer offset (Arccore::Integer index) const
 Get the offset from a global or local index.
Arccore::ConstArrayView< Arccore::Integer > sizeOfLocalIndex () const
 Get the block sizes for all local blocks.
Arccore::ConstArrayView< Arccore::Integer > offsetOfLocalIndex () const
 Get the offsets for all local blocks.
std::shared_ptr< VBlockImplclone () const
 Copy this object.

Private Member Functions

 VBlockImpl (VBlockImpl &&block)=delete
VBlockImploperator= (const VBlockImpl &block)=delete
void compute (Arccore::Integer local_size, Arccore::Integer local_offset)
 Compute offsets for variable block size elements.

Private Attributes

std::shared_ptr< Internalm_internal
 Actual implementation of the variable block offsets computation tool.

Detailed Description

Compute block offsets for variable block elements.

Definition at line 45 of file VBlockOffsets.h.

Constructor & Destructor Documentation

◆ VBlockImpl() [1/3]

Alien::VBlockImpl::VBlockImpl ( const VBlock & block,
const VectorDistribution & dist )

Constructor for vectors variable blocks.

Parameters
[in]Block related APIThe variable blocks
[in]distThe vector distribution

Definition at line 86 of file VBlockOffsets.cc.

References compute(), Alien::VectorDistribution::localSize(), m_internal, and Alien::VectorDistribution::offset().

Referenced by VBlockImpl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VBlockImpl() [2/3]

Alien::VBlockImpl::VBlockImpl ( const VBlock & block,
const MatrixDistribution & dist )

Constructor for matrices variable blocks.

Parameters
[in]Block related APIThe variable blocks
[in]distThe matrix distribution

Definition at line 97 of file VBlockOffsets.cc.

References compute(), Alien::MatrixDistribution::localRowSize(), m_internal, and Alien::MatrixDistribution::rowOffset().

Here is the call graph for this function:

◆ ~VBlockImpl()

Alien::VBlockImpl::~VBlockImpl ( )
inline

Free resources.

Definition at line 63 of file VBlockOffsets.h.

◆ VBlockImpl() [3/3]

Alien::VBlockImpl::VBlockImpl ( const VBlockImpl & block)

Copy constructor.

Parameters
[in]Block related APIThe variable block offset computation tool

Definition at line 79 of file VBlockOffsets.cc.

References m_internal, and VBlockImpl().

Here is the call graph for this function:

Member Function Documentation

◆ clone()

std::shared_ptr< VBlockImpl > Alien::VBlockImpl::clone ( ) const

Copy this object.

Returns
A copy of this object

Definition at line 226 of file VBlockOffsets.cc.

◆ compute()

void Alien::VBlockImpl::compute ( Arccore::Integer local_size,
Arccore::Integer local_offset )
private

Compute offsets for variable block size elements.

Parameters
[in]local_sizeLocal size of the algebraic element
[in]local_offsetLocal offset

Definition at line 108 of file VBlockOffsets.cc.

References m_internal.

Referenced by VBlockImpl(), and VBlockImpl().

Here is the caller graph for this function:

◆ offset()

Integer Alien::VBlockImpl::offset ( Arccore::Integer index) const

Get the offset from a global or local index.

Parameters
[in]indexThe global or local index
Returns
The offset for the index

Definition at line 148 of file VBlockOffsets.cc.

References m_internal.

◆ offsetFromLocalIndex()

Integer Alien::VBlockImpl::offsetFromLocalIndex ( Arccore::Integer index) const

Get the offset from a local index.

Parameters
[in]indexThe local index
Returns
The offset for the index

Definition at line 162 of file VBlockOffsets.cc.

References m_internal.

◆ offsetOfLocalIndex()

ConstArrayView< Integer > Alien::VBlockImpl::offsetOfLocalIndex ( ) const

Get the offsets for all local blocks.

Returns
The array with all offsets for all local blocks

Definition at line 217 of file VBlockOffsets.cc.

References m_internal.

◆ sizeFromLocalIndex()

Integer Alien::VBlockImpl::sizeFromLocalIndex ( Arccore::Integer index) const

Get the block size from a local index.

Parameters
[in]indexThe local index
Returns
The block size for the index

Definition at line 139 of file VBlockOffsets.cc.

References m_internal.

◆ sizeOfLocalIndex()

ConstArrayView< Integer > Alien::VBlockImpl::sizeOfLocalIndex ( ) const

Get the block sizes for all local blocks.

Returns
The array with all local block sizes

Definition at line 208 of file VBlockOffsets.cc.

References m_internal.

Member Data Documentation

◆ m_internal

std::shared_ptr<Internal> Alien::VBlockImpl::m_internal
private

Actual implementation of the variable block offsets computation tool.

Definition at line 125 of file VBlockOffsets.h.

Referenced by compute(), offset(), offsetFromLocalIndex(), offsetOfLocalIndex(), sizeFromLocalIndex(), sizeOfLocalIndex(), VBlockImpl(), VBlockImpl(), and VBlockImpl().


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