Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t > Struct Template Reference

Sparse matrix stored in CSR (Compressed Sparse Row) format. More...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/CSRMatrix.h>

Collaboration diagram for Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >:

Classes

class  row_iterator

Public Types

typedef val_t value_type
typedef val_t val_type
typedef col_t col_type
typedef ptr_t ptr_type

Public Member Functions

size_t nbRow () const noexcept
void setNbRow (size_t v)
size_t nbNonZero () const noexcept
void setNbNonZero (size_t v)
template<class PtrRange, class ColRange, class ValRange>
 CSRMatrix (size_t nrows, size_t ncols, const PtrRange &ptr_range, const ColRange &col_range, const ValRange &val_range)
template<class Matrix>
 CSRMatrix (const Matrix &A)
 CSRMatrix (const CSRMatrix &other)
 CSRMatrix (CSRMatrix &&other) noexcept
CSRMatrix & operator= (const CSRMatrix &other)
CSRMatrix & operator= (CSRMatrix &&other) noexcept
void free_data ()
void set_size (size_t n, size_t m, bool clean_ptr=false)
ptr_type scan_row_sizes ()
void set_nonzeros ()
void set_nonzeros (size_t n, bool need_values=true)
row_iterator row_begin (size_t row) const
size_t bytes () const

Public Attributes

size_t ncols = 0
CSRArray< ptr_type > ptr
CSRArray< col_type > col
CSRArray< val_type > val
bool own_data = true

Private Attributes

size_t m_nb_row = 0
size_t m_nb_non_zero = 0

Detailed Description

template<typename val_t, typename col_t, typename ptr_t>
struct Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >

Sparse matrix stored in CSR (Compressed Sparse Row) format.

Definition at line 97 of file CSRMatrix.h.

Member Typedef Documentation

◆ col_type

template<typename val_t, typename col_t, typename ptr_t>
typedef col_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::col_type

Definition at line 101 of file CSRMatrix.h.

◆ ptr_type

template<typename val_t, typename col_t, typename ptr_t>
typedef ptr_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::ptr_type

Definition at line 102 of file CSRMatrix.h.

◆ val_type

template<typename val_t, typename col_t, typename ptr_t>
typedef val_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::val_type

Definition at line 100 of file CSRMatrix.h.

◆ value_type

template<typename val_t, typename col_t, typename ptr_t>
typedef val_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::value_type

Definition at line 99 of file CSRMatrix.h.

Constructor & Destructor Documentation

◆ CSRMatrix() [1/4]

template<typename val_t, typename col_t, typename ptr_t>
template<class PtrRange, class ColRange, class ValRange>
Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::CSRMatrix ( size_t nrows,
size_t ncols,
const PtrRange & ptr_range,
const ColRange & col_range,
const ValRange & val_range )
inline

Definition at line 127 of file CSRMatrix.h.

◆ CSRMatrix() [2/4]

template<typename val_t, typename col_t, typename ptr_t>
template<class Matrix>
Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::CSRMatrix ( const Matrix & A)
inline

Definition at line 163 of file CSRMatrix.h.

◆ CSRMatrix() [3/4]

template<typename val_t, typename col_t, typename ptr_t>
Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::CSRMatrix ( const CSRMatrix< val_t, col_t, ptr_t > & other)
inline

Definition at line 198 of file CSRMatrix.h.

◆ CSRMatrix() [4/4]

template<typename val_t, typename col_t, typename ptr_t>
Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::CSRMatrix ( CSRMatrix< val_t, col_t, ptr_t > && other)
inlinenoexcept

Definition at line 221 of file CSRMatrix.h.

◆ ~CSRMatrix()

template<typename val_t, typename col_t, typename ptr_t>
Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::~CSRMatrix ( )
inline

Definition at line 341 of file CSRMatrix.h.

Member Function Documentation

◆ bytes()

template<typename val_t, typename col_t, typename ptr_t>
size_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::bytes ( ) const
inline

Definition at line 392 of file CSRMatrix.h.

◆ free_data()

template<typename val_t, typename col_t, typename ptr_t>
void Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::free_data ( )
inline

Definition at line 279 of file CSRMatrix.h.

◆ nbNonZero()

template<typename val_t, typename col_t, typename ptr_t>
size_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::nbNonZero ( ) const
inlinenodiscardnoexcept

Definition at line 119 of file CSRMatrix.h.

◆ nbRow()

template<typename val_t, typename col_t, typename ptr_t>
size_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::nbRow ( ) const
inlinenodiscardnoexcept

Definition at line 116 of file CSRMatrix.h.

◆ operator=() [1/2]

template<typename val_t, typename col_t, typename ptr_t>
CSRMatrix & Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::operator= ( const CSRMatrix< val_t, col_t, ptr_t > & other)
inline

Definition at line 238 of file CSRMatrix.h.

◆ operator=() [2/2]

template<typename val_t, typename col_t, typename ptr_t>
CSRMatrix & Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::operator= ( CSRMatrix< val_t, col_t, ptr_t > && other)
inlinenoexcept

Definition at line 266 of file CSRMatrix.h.

◆ row_begin()

template<typename val_t, typename col_t, typename ptr_t>
row_iterator Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::row_begin ( size_t row) const
inline

Definition at line 385 of file CSRMatrix.h.

◆ scan_row_sizes()

template<typename val_t, typename col_t, typename ptr_t>
ptr_type Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::scan_row_sizes ( )
inline

Definition at line 307 of file CSRMatrix.h.

◆ set_nonzeros() [1/2]

template<typename val_t, typename col_t, typename ptr_t>
void Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::set_nonzeros ( )
inline

Definition at line 313 of file CSRMatrix.h.

◆ set_nonzeros() [2/2]

template<typename val_t, typename col_t, typename ptr_t>
void Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::set_nonzeros ( size_t n,
bool need_values = true )
inline

Definition at line 329 of file CSRMatrix.h.

◆ set_size()

template<typename val_t, typename col_t, typename ptr_t>
void Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::set_size ( size_t n,
size_t m,
bool clean_ptr = false )
inline

Definition at line 288 of file CSRMatrix.h.

◆ setNbNonZero()

template<typename val_t, typename col_t, typename ptr_t>
void Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::setNbNonZero ( size_t v)
inline

Definition at line 120 of file CSRMatrix.h.

◆ setNbRow()

template<typename val_t, typename col_t, typename ptr_t>
void Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::setNbRow ( size_t v)
inline

Definition at line 117 of file CSRMatrix.h.

Member Data Documentation

◆ col

template<typename val_t, typename col_t, typename ptr_t>
CSRArray<col_type> Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::col

Definition at line 112 of file CSRMatrix.h.

◆ m_nb_non_zero

template<typename val_t, typename col_t, typename ptr_t>
size_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::m_nb_non_zero = 0
private

Definition at line 109 of file CSRMatrix.h.

◆ m_nb_row

template<typename val_t, typename col_t, typename ptr_t>
size_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::m_nb_row = 0
private

Definition at line 105 of file CSRMatrix.h.

◆ ncols

template<typename val_t, typename col_t, typename ptr_t>
size_t Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::ncols = 0

Definition at line 107 of file CSRMatrix.h.

◆ own_data

template<typename val_t, typename col_t, typename ptr_t>
bool Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::own_data = true

Definition at line 114 of file CSRMatrix.h.

◆ ptr

template<typename val_t, typename col_t, typename ptr_t>
CSRArray<ptr_type> Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::ptr

Definition at line 111 of file CSRMatrix.h.

◆ val

template<typename val_t, typename col_t, typename ptr_t>
CSRArray<val_type> Arcane::Alina::CSRMatrix< val_t, col_t, ptr_t >::val

Definition at line 113 of file CSRMatrix.h.


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