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>
SimpleCSRVector & operator= (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 VectorDistribution & distribution () 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 VBlockImpl & vblockImpl () 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
IVectorImpl & operator= (const IVectorImpl &src)=delete
IVectorImpl & operator= (IVectorImpl &&src)=delete
virtual const ISpace & space () const
 Get the vector space.
virtual BackEndId backend () const
virtual const Block * block () const
 Get block datas of the vector.
virtual const VBlock * vblock () const
 Get block datas of the vector.
const MultiVectorImpl * impls () 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< VBlockImpl > m_vblock

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const
Protected Attributes inherited from Alien::IVectorImpl
const MultiVectorImpl * m_multi_impl
 Pointer on vectors implementations.
BackEndId m_backend
 Backend id.
VBlockSizes * m_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: