Rheolef  7.2
an efficient C++ finite element environment
Loading...
Searching...
No Matches
asr< T, M, A >

Detailed Description

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
class rheolef::asr< T, M, A >

Definition at line 49 of file asr.h.

Inheritance diagram for asr< T, M, A >:

Classes

struct  dis_reference

Public Types

typedef pair_set< T, Arow_type
typedef disarray< row_type, M, Abase
typedef base::size_type size_type
typedef M memory_type
Public Types inherited from disarray< T, M, A >
typedef M memory_type
typedef disarray_rep< T, sequential, Arep
typedef rep::base::size_type size_type
typedef rep::base::iterator iterator
typedef rep::base::const_iterator const_iterator

Public Member Functions

 asr (const A &alloc=A())
 asr (const distributor &row_ownership, const distributor &col_ownership, const A &alloc=A())
 asr (const csr_rep< T, M > &, const A &alloc=A())
 asr (const csr< T, M > &, const A &alloc=A())
void build_from_csr (const csr_rep< T, M > &)
void resize (const distributor &row_ownership, const distributor &col_ownership)
const communicatorcomm () const
size_type nrow () const
size_type ncol () const
size_type nnz () const
size_type dis_nrow () const
size_type dis_ncol () const
size_type dis_nnz () const
const distributorrow_ownership () const
const distributorcol_ownership () const
T operator() (size_type i, size_type dis_j) const
Tsemi_dis_entry (size_type i, size_type dis_j)
dis_reference dis_entry (size_type dis_i, size_type dis_j)
void dis_entry_assembly_begin ()
void dis_entry_assembly_end ()
void dis_entry_assembly ()
odiststreamput (odiststream &ops) const
idiststreamget (idiststream &ips)
odiststreamput_mpi (odiststream &ops) const
odiststreamput_seq (odiststream &ops, size_type first_dis_i=0) const
odiststreamput_seq_sparse_matlab (odiststream &ops, size_type first_dis_i=0) const
odiststreamput_seq_matrix_market (odiststream &ops, size_type first_dis_i=0) const

Protected Member Functions

void _recompute_nnz ()

Protected Attributes

distributor _col_ownership
size_type _nnz
size_type _dis_nnz

Member Typedef Documentation

◆ row_type

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
typedef pair_set<T,A> row_type

Definition at line 53 of file asr.h.

◆ base

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
typedef disarray<row_type,M,A> base

Definition at line 54 of file asr.h.

◆ size_type

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
typedef base::size_type size_type

Definition at line 55 of file asr.h.

◆ memory_type

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
typedef M memory_type

Definition at line 56 of file asr.h.

Constructor & Destructor Documentation

◆ asr() [1/4]

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
asr ( const A & alloc = A())

Definition at line 72 of file asr.h.

◆ asr() [2/4]

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
asr ( const distributor & row_ownership,
const distributor & col_ownership,
const A & alloc = A() )

Definition at line 75 of file asr.h.

◆ asr() [3/4]

template<class T, class M, class A>
asr ( const csr_rep< T, M > & a,
const A & alloc = A() )

Definition at line 146 of file asr.h.

◆ asr() [4/4]

template<class T, class M, class A>
asr ( const csr< T, M > & a,
const A & alloc = A() )

Definition at line 136 of file asr.h.

Member Function Documentation

◆ build_from_csr()

template<class T, class M, class A>
void build_from_csr ( const csr_rep< T, M > & a)

Definition at line 37 of file asr.cc.

◆ resize()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
void resize ( const distributor & row_ownership,
const distributor & col_ownership )

Definition at line 82 of file asr.h.

◆ comm()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
const communicator & comm ( ) const

Definition at line 91 of file asr.h.

◆ nrow()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type nrow ( ) const

Definition at line 93 of file asr.h.

◆ ncol()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type ncol ( ) const

Definition at line 94 of file asr.h.

◆ nnz()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type nnz ( ) const

Definition at line 95 of file asr.h.

◆ dis_nrow()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type dis_nrow ( ) const

Definition at line 97 of file asr.h.

◆ dis_ncol()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type dis_ncol ( ) const

Definition at line 98 of file asr.h.

◆ dis_nnz()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type dis_nnz ( ) const

Definition at line 99 of file asr.h.

◆ row_ownership()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
const distributor & row_ownership ( ) const

Definition at line 100 of file asr.h.

◆ col_ownership()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
const distributor & col_ownership ( ) const

Definition at line 101 of file asr.h.

◆ operator()()

template<class T, class M, class A>
T operator() ( size_type i,
size_type dis_j ) const

Definition at line 171 of file asr.h.

◆ semi_dis_entry()

template<class T, class M, class A>
T & semi_dis_entry ( size_type i,
size_type dis_j )

Definition at line 183 of file asr.h.

◆ dis_entry()

template<class T, class M, class A>
asr< T, M, A >::dis_reference dis_entry ( size_type dis_i,
size_type dis_j )

Definition at line 193 of file asr.h.

◆ dis_entry_assembly_begin()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
void dis_entry_assembly_begin ( )

Definition at line 110 of file asr.h.

◆ dis_entry_assembly_end()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
void dis_entry_assembly_end ( )

Definition at line 111 of file asr.h.

◆ dis_entry_assembly()

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
void dis_entry_assembly ( )

Definition at line 112 of file asr.h.

◆ put()

template<class T, class M, class A>
odiststream & put ( odiststream & ops) const

Definition at line 173 of file asr.cc.

◆ get()

template<class T, class M, class A>
idiststream & get ( idiststream & ips)

Definition at line 183 of file asr.cc.

◆ put_mpi()

template<class T, class M, class A>
odiststream & put_mpi ( odiststream & ops) const

Definition at line 144 of file asr.cc.

◆ put_seq()

template<class T, class M, class A>
odiststream & put_seq ( odiststream & ops,
size_type first_dis_i = 0 ) const

Definition at line 134 of file asr.cc.

◆ put_seq_sparse_matlab()

template<class T, class M, class A>
odiststream & put_seq_sparse_matlab ( odiststream & ops,
size_type first_dis_i = 0 ) const

Definition at line 85 of file asr.cc.

◆ put_seq_matrix_market()

template<class T, class M, class A>
odiststream & put_seq_matrix_market ( odiststream & ops,
size_type first_dis_i = 0 ) const

Definition at line 110 of file asr.cc.

◆ _recompute_nnz()

template<class T, class M, class A>
void _recompute_nnz ( )
protected

Definition at line 65 of file asr.cc.

Member Data Documentation

◆ _col_ownership

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
distributor _col_ownership
protected

Definition at line 126 of file asr.h.

◆ _nnz

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type _nnz
protected

Definition at line 127 of file asr.h.

◆ _dis_nnz

template<class T, class M = rheo_default_memory_model, class A = std::allocator<T>>
size_type _dis_nnz
protected

Definition at line 128 of file asr.h.


The documentation for this class was generated from the following files:
  • /build/rheolef-L67pNR/rheolef-7.2/linalg/lib/asr.h
  • /build/rheolef-L67pNR/rheolef-7.2/linalg/lib/asr.cc