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: