Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::SimpleCSRVector< ValueT > Class Template Reference
Inheritance diagram for Alien::SimpleCSRVector< ValueT >:
Collaboration diagram for Alien::SimpleCSRVector< ValueT >:

Public Types

typedef ValueT ValueType
Public Types inherited from Alien::IVectorImpl
typedef Arccore::Real ValueType
 Type of the values stored in the vectors.

Public Member Functions

 SimpleCSRVector ()
 Constructeur sans association ? un MultiImpl.
 SimpleCSRVector (const MultiVectorImpl *multi_impl)
 Constructeur avec association ? un MultiImpl.
Integer blockSize () const
void setBlockSize (Integer block_size)
void allocate ()
void resize (Integer alloc_size) const
Integer getAllocSize () const
void clear () override
 Wipe out internal data.
Arccore::ArrayView< ValueType > values ()
Arccore::ConstArrayView< ValueType > values () const
ArrayView< ValueType > fullValues ()
ConstArrayView< ValueType > fullValues () const
void setArrayValues (UniqueArray< ValueType > &&rhs)
UniqueArray< ValueType > const & getArrayValues () const
ValueType * getDataPtr ()
ValueType * data ()
ValueType const * getDataPtr () const
ValueType const * data () const
ValueType const * getAddressData () const
ValueType & operator[] (Integer index)
ValueType const & operator[] (Integer index) const
template<typename E>
SimpleCSRVectoroperator= (E const &expr)
void init (const VectorDistribution &dist, const bool need_allocate) override
 Initialize vector datas.
void init (const VectorDistribution &dist, Integer block_size, const bool need_allocate)
const VectorDistributiondistribution () const override
 Get the distribution of the vector.
Arccore::Integer scalarizedLocalSize () const override
 Get the "scalarized" local size.
Arccore::Integer scalarizedGlobalSize () const override
 Get the "scalarized" global size.
Arccore::Integer scalarizedOffset () const override
 Get the "scalarized" offset.
const VBlockImplvblockImpl () const
void update (const SimpleCSRVector< ValueT > &v)
SimpleCSRVector< ValueT > * cloneTo (const MultiVectorImpl *impl) const
Public Member Functions inherited from Alien::IVectorImpl
 IVectorImpl (const MultiVectorImpl *multi_impl, BackEndId backend="")
 Constructor.
virtual ~IVectorImpl () override
 Free resources.
 IVectorImpl (const IVectorImpl &src)=delete
 IVectorImpl (IVectorImpl &&src)=delete
IVectorImploperator= (const IVectorImpl &src)=delete
IVectorImploperator= (IVectorImpl &&src)=delete
virtual const ISpacespace () const
 Get the vector space.
virtual BackEndId backend () const
virtual const Blockblock () const
 Get block datas of the vector.
virtual const VBlockvblock () const
 Get block datas of the vector.
const MultiVectorImplimpls () const
Public Member Functions inherited from Alien::Timestamp
 Timestamp (const TimestampMng *manager)
virtual ~Timestamp ()
 Destructeur de la classe.
virtual Int64 timestamp () const
 Donne la valeur courante du timestamp.
void updateTimestamp ()
 Met à jour le timestamp.
void copyTimestamp (const Timestamp &v)
 Copy un autre timestamp.
void setTimestamp (const TimestampMng *manager, const Int64 timestamp)
Public Member Functions inherited from Alien::ObjectWithTrace
template<typename T>
void alien_info (T &&t) const
template<typename T>
void alien_debug (T &&t) const
template<typename T>
void alien_warning (T &&t) const
template<typename T>
void alien_fatal (T &&t) const
ITraceMng * traceMng () const

Private Attributes

UniqueArray< ValueT > m_values
Integer m_local_size = 0
Integer m_own_block_size = 1
VectorDistribution m_own_distribution
std::unique_ptr< VBlockImplm_vblock

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const
Protected Attributes inherited from Alien::IVectorImpl
const MultiVectorImplm_multi_impl
 Pointer on vectors implementations.
BackEndId m_backend
 Backend id.
VBlockSizesm_vblock_sizes
 Variable blocks size data.

Detailed Description

template<typename ValueT>
class Alien::SimpleCSRVector< ValueT >

Definition at line 23 of file SimpleCSRVector.h.

Member Typedef Documentation

◆ ValueType

template<typename ValueT>
typedef ValueT Alien::SimpleCSRVector< ValueT >::ValueType

Definition at line 26 of file SimpleCSRVector.h.

Constructor & Destructor Documentation

◆ SimpleCSRVector() [1/2]

template<typename ValueT>
Alien::SimpleCSRVector< ValueT >::SimpleCSRVector ( )
inline

Constructeur sans association ? un MultiImpl.

Definition at line 29 of file SimpleCSRVector.h.

◆ SimpleCSRVector() [2/2]

template<typename ValueT>
Alien::SimpleCSRVector< ValueT >::SimpleCSRVector ( const MultiVectorImpl * multi_impl)
inline

Constructeur avec association ? un MultiImpl.

Definition at line 34 of file SimpleCSRVector.h.

Member Function Documentation

◆ allocate()

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::allocate ( )
inline

Definition at line 60 of file SimpleCSRVector.h.

◆ blockSize()

template<typename ValueT>
Integer Alien::SimpleCSRVector< ValueT >::blockSize ( ) const
inline

Definition at line 38 of file SimpleCSRVector.h.

◆ clear()

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::clear ( )
inlineoverridevirtual

Wipe out internal data.

Reimplemented from Alien::IVectorImpl.

Definition at line 78 of file SimpleCSRVector.h.

◆ cloneTo()

template<typename ValueT>
SimpleCSRVector< ValueT > * Alien::SimpleCSRVector< ValueT >::cloneTo ( const MultiVectorImpl * impl) const
inline

Definition at line 203 of file SimpleCSRVector.h.

◆ data() [1/2]

template<typename ValueT>
ValueType * Alien::SimpleCSRVector< ValueT >::data ( )
inline

Definition at line 104 of file SimpleCSRVector.h.

◆ data() [2/2]

template<typename ValueT>
ValueType const * Alien::SimpleCSRVector< ValueT >::data ( ) const
inline

Definition at line 107 of file SimpleCSRVector.h.

◆ distribution()

template<typename ValueT>
const VectorDistribution & Alien::SimpleCSRVector< ValueT >::distribution ( ) const
inlineoverridevirtual

Get the distribution of the vector.

Returns
The vector distribution

Reimplemented from Alien::IVectorImpl.

Definition at line 162 of file SimpleCSRVector.h.

Referenced by Alien::SimpleCSRtoDoKVectorConverter::convert(), and Alien::SimpleCSRVector< Arccore::Real >::init().

Here is the caller graph for this function:

◆ fullValues() [1/2]

template<typename ValueT>
ArrayView< ValueType > Alien::SimpleCSRVector< ValueT >::fullValues ( )
inline

Definition at line 96 of file SimpleCSRVector.h.

◆ fullValues() [2/2]

template<typename ValueT>
ConstArrayView< ValueType > Alien::SimpleCSRVector< ValueT >::fullValues ( ) const
inline

Definition at line 97 of file SimpleCSRVector.h.

◆ getAddressData()

template<typename ValueT>
ValueType const * Alien::SimpleCSRVector< ValueT >::getAddressData ( ) const
inline

Definition at line 108 of file SimpleCSRVector.h.

◆ getAllocSize()

template<typename ValueT>
Integer Alien::SimpleCSRVector< ValueT >::getAllocSize ( ) const
inline

Definition at line 76 of file SimpleCSRVector.h.

◆ getArrayValues()

template<typename ValueT>
UniqueArray< ValueType > const & Alien::SimpleCSRVector< ValueT >::getArrayValues ( ) const
inline

Definition at line 101 of file SimpleCSRVector.h.

◆ getDataPtr() [1/2]

template<typename ValueT>
ValueType * Alien::SimpleCSRVector< ValueT >::getDataPtr ( )
inline

Definition at line 103 of file SimpleCSRVector.h.

◆ getDataPtr() [2/2]

template<typename ValueT>
ValueType const * Alien::SimpleCSRVector< ValueT >::getDataPtr ( ) const
inline

Definition at line 106 of file SimpleCSRVector.h.

◆ init() [1/2]

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::init ( const VectorDistribution & dist,
const bool do_alloc )
inlineoverridevirtual

Initialize vector datas.

Parameters
[in]distThe vector distribution
[in]do_allocAllocate memory or not
Todo
Fix this method : could be removed during the process of solver refactoring

Reimplemented from Alien::IVectorImpl.

Definition at line 118 of file SimpleCSRVector.h.

◆ init() [2/2]

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::init ( const VectorDistribution & dist,
Integer block_size,
const bool need_allocate )
inline

Definition at line 139 of file SimpleCSRVector.h.

◆ operator[]() [1/2]

template<typename ValueT>
ValueType & Alien::SimpleCSRVector< ValueT >::operator[] ( Integer index)
inline

Definition at line 110 of file SimpleCSRVector.h.

◆ operator[]() [2/2]

template<typename ValueT>
ValueType const & Alien::SimpleCSRVector< ValueT >::operator[] ( Integer index) const
inline

Definition at line 112 of file SimpleCSRVector.h.

◆ resize()

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::resize ( Integer alloc_size) const
inline

Definition at line 67 of file SimpleCSRVector.h.

◆ scalarizedGlobalSize()

template<typename ValueT>
Arccore::Integer Alien::SimpleCSRVector< ValueT >::scalarizedGlobalSize ( ) const
inlineoverridevirtual

Get the "scalarized" global size.

See also
VBlockSizes for "scalarized" definition
Returns
The actual global size

Reimplemented from Alien::IVectorImpl.

Definition at line 178 of file SimpleCSRVector.h.

◆ scalarizedLocalSize()

template<typename ValueT>
Arccore::Integer Alien::SimpleCSRVector< ValueT >::scalarizedLocalSize ( ) const
inlineoverridevirtual

Get the "scalarized" local size.

See also
VBlockSizes for "scalarized" definition
Returns
The actual local size

Reimplemented from Alien::IVectorImpl.

Definition at line 170 of file SimpleCSRVector.h.

Referenced by Alien::SimpleCSRtoDoKVectorConverter::convert(), and Alien::SimpleCSRVector< Arccore::Real >::init().

Here is the caller graph for this function:

◆ scalarizedOffset()

template<typename ValueT>
Arccore::Integer Alien::SimpleCSRVector< ValueT >::scalarizedOffset ( ) const
inlineoverridevirtual

Get the "scalarized" offset.

See also
VBlockSizes for "scalarized" definition
Returns
The actual offset

Reimplemented from Alien::IVectorImpl.

Definition at line 186 of file SimpleCSRVector.h.

◆ setArrayValues()

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::setArrayValues ( UniqueArray< ValueType > && rhs)
inline

Definition at line 99 of file SimpleCSRVector.h.

◆ setBlockSize()

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::setBlockSize ( Integer block_size)
inline

Definition at line 52 of file SimpleCSRVector.h.

◆ update()

template<typename ValueT>
void Alien::SimpleCSRVector< ValueT >::update ( const SimpleCSRVector< ValueT > & v)
inline

Definition at line 197 of file SimpleCSRVector.h.

◆ values() [1/2]

template<typename ValueT>
Arccore::ArrayView< ValueType > Alien::SimpleCSRVector< ValueT >::values ( )
inline

Definition at line 85 of file SimpleCSRVector.h.

◆ values() [2/2]

template<typename ValueT>
Arccore::ConstArrayView< ValueType > Alien::SimpleCSRVector< ValueT >::values ( ) const
inline

Definition at line 90 of file SimpleCSRVector.h.

◆ vblockImpl()

template<typename ValueT>
const VBlockImpl & Alien::SimpleCSRVector< ValueT >::vblockImpl ( ) const
inline

Definition at line 194 of file SimpleCSRVector.h.

Member Data Documentation

◆ m_local_size

template<typename ValueT>
Integer Alien::SimpleCSRVector< ValueT >::m_local_size = 0
private

Definition at line 216 of file SimpleCSRVector.h.

◆ m_own_block_size

template<typename ValueT>
Integer Alien::SimpleCSRVector< ValueT >::m_own_block_size = 1
private

Definition at line 217 of file SimpleCSRVector.h.

◆ m_own_distribution

template<typename ValueT>
VectorDistribution Alien::SimpleCSRVector< ValueT >::m_own_distribution
private

Definition at line 218 of file SimpleCSRVector.h.

◆ m_values

template<typename ValueT>
UniqueArray<ValueT> Alien::SimpleCSRVector< ValueT >::m_values
mutableprivate

Definition at line 215 of file SimpleCSRVector.h.

◆ m_vblock

template<typename ValueT>
std::unique_ptr<VBlockImpl> Alien::SimpleCSRVector< ValueT >::m_vblock
mutableprivate

Definition at line 219 of file SimpleCSRVector.h.


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