rheolef  6.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rheolef::csr_rep< T, distributed > Class Template Reference

#include <csr.h>

Inheritance diagram for rheolef::csr_rep< T, distributed >:
Inheritance graph
[legend]
Collaboration diagram for rheolef::csr_rep< T, distributed >:
Collaboration graph
[legend]

Public Types

typedef csr_rep< T, sequentialbase
typedef distributed memory_type
typedef base::size_type size_type
typedef base::element_type element_type
typedef base::iterator iterator
typedef base::const_iterator const_iterator
typedef base::data_iterator data_iterator
typedef base::const_data_iterator const_data_iterator
- Public Types inherited from rheolef::csr_rep< T, sequential >
typedef std::vector< T >::size_type size_type
typedef T element_type
typedef sequential memory_type
typedef std::pair< size_type, T > pair_type
typedef vector_of_iterator
< pair_type >::iterator 
iterator
typedef vector_of_iterator
< pair_type >::const_iterator 
const_iterator
typedef vector_of_iterator
< pair_type >::difference_type 
difference_type
typedef vector_of_iterator
< pair_type >::value_type 
data_iterator
typedef vector_of_iterator
< pair_type >
::const_value_type 
const_data_iterator
- Public Types inherited from rheolef::vector_of_iterator< std::pair< std::vector< T >::size_type, T > >
typedef std::vector< std::pair
< std::vector< T >::size_type,
T > * > 
V
typedef std::vector< const
std::pair< std::vector< T >
::size_type, T > * > 
CONST_V
typedef std::pair< std::vector
< T >::size_type, T > * 
value_type
typedef const std::pair
< std::vector< T >::size_type,
T > * 
const_value_type
typedef value_typeiterator
typedef const_value_type *const const_iterator
typedef value_typereference
typedef const value_typeconst_reference
typedef V::size_type size_type
typedef V::difference_type difference_type

Public Member Functions

 csr_rep ()
 csr_rep (const csr_rep< T, distributed > &a)
template<class A >
 csr_rep (const asr< T, distributed, A > &a)
template<class A >
void build_from_asr (const asr< T, distributed, A > &a)
void resize (const distributor &row_ownership, const distributor &col_ownership, size_type nnz1=0)
template<class A >
void build_from_diag (const array_rep< T, distributed, A > &d)
const distributorrow_ownership () const
const distributorcol_ownership () const
const communicator & comm () const
const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()
size_type ext_nnz () const
const_iterator ext_begin () const
const_iterator ext_end () const
iterator ext_begin ()
iterator ext_end ()
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
size_type dis_ext_nnz () const
bool is_symmetric () const
void set_symmetry (bool is_symm)
size_type pattern_dimension () const
void set_pattern_dimension (size_type dim)
size_type row_first_index () const
size_type row_last_index () const
size_type col_first_index () const
size_type col_last_index () const
size_type jext2dis_j (size_type jext) const
idiststream & get (idiststream &)
odiststreamput (odiststream &) const
void dump (const std::string &name) const
void mult (const vec< T, distributed > &x, vec< T, distributed > &y) const
void trans_mult (const vec< T, distributed > &x, vec< T, distributed > &y) const
csr_rep< T, distributed > & operator*= (const T &lambda)
template<class BinaryOp >
void assign_add (const csr_rep< T, distributed > &a, const csr_rep< T, distributed > &b, BinaryOp binop)
void build_transpose (csr_rep< T, distributed > &b) const
void assign_mult (const csr_rep< T, distributed > &a, const csr_rep< T, distributed > &b)
- Public Member Functions inherited from rheolef::csr_rep< T, sequential >
 csr_rep (size_type loc_nrow1=0, size_type loc_ncol1=0, size_type loc_nnz1=0)
void resize (size_type loc_nrow1=0, size_type loc_ncol1=0, size_type loc_nnz1=0)
 csr_rep (const distributor &row_ownership, const distributor &col_ownership, size_type nnz1=0)
 csr_rep (const csr_rep< T, sequential > &a)
template<class A >
void build_from_asr (const asr< T, sequential, A > &a)
template<class A >
 csr_rep (const asr< T, sequential, A > &a)
template<class A >
void build_from_diag (const array_rep< T, sequential, A > &d)
odiststreamput (odiststream &, size_type istart=0) const
odiststreamput_matrix_market (odiststream &, size_type istart=0) const
odiststreamput_sparse_matlab (odiststream &, size_type istart=0) const
void dump (const std::string &name, size_type istart=0) const
void mult (const vec< T, sequential > &x, vec< T, sequential > &y) const
void trans_mult (const vec< T, sequential > &x, vec< T, sequential > &y) const
template<class BinaryOp >
void assign_add (const csr_rep< T, sequential > &a, const csr_rep< T, sequential > &b, BinaryOp binop)
void build_transpose (csr_rep< T, sequential > &b) const
void assign_mult (const csr_rep< T, sequential > &a, const csr_rep< T, sequential > &b)
- Public Member Functions inherited from rheolef::vector_of_iterator< std::pair< std::vector< T >::size_type, T > >
 vector_of_iterator (size_type n=0, const value_type &value=value_type())
size_type size () const
const_reference operator[] (size_type i) const
reference operator[] (size_type i)

Protected Member Functions

void _scatter_init () const
void _scatter_init_guard () const

Protected Attributes

csr_rep< T, sequential_ext
std::vector< size_type_jext2dis_j
size_type _dis_nnz
size_type _dis_ext_nnz
bool _scatter_initialized
scatter_message< std::vector< T > > _from
scatter_message< std::vector< T > > _to
std::vector< T > _buffer

Additional Inherited Members

- Public Attributes inherited from rheolef::csr_rep< T, sequential >
distributor _row_ownership
distributor _col_ownership
std::vector< std::pair
< typename std::vector< T >
::size_type, T > > 
_data
bool _is_symmetric
size_type _pattern_dimension

Detailed Description

template<class T>
class rheolef::csr_rep< T, distributed >

Definition at line 105 of file csr.h.

Member Typedef Documentation

template<class T >
typedef csr_rep<T,sequential> rheolef::csr_rep< T, distributed >::base

Definition at line 107 of file csr.h.

template<class T >
typedef distributed rheolef::csr_rep< T, distributed >::memory_type

Definition at line 108 of file csr.h.

template<class T >
typedef base::size_type rheolef::csr_rep< T, distributed >::size_type

Definition at line 109 of file csr.h.

template<class T >
typedef base::element_type rheolef::csr_rep< T, distributed >::element_type

Definition at line 110 of file csr.h.

template<class T >
typedef base::iterator rheolef::csr_rep< T, distributed >::iterator

Definition at line 111 of file csr.h.

template<class T >
typedef base::const_iterator rheolef::csr_rep< T, distributed >::const_iterator

Definition at line 112 of file csr.h.

Definition at line 113 of file csr.h.

Definition at line 114 of file csr.h.

Constructor & Destructor Documentation

template<class T >
rheolef::csr_rep< T, distributed >::csr_rep ( )

Definition at line 43 of file csr_mpi.cc.

template<class T >
rheolef::csr_rep< T, distributed >::csr_rep ( const csr_rep< T, distributed > &  a)

Definition at line 56 of file csr_mpi.cc.

template<class T >
template<class A >
rheolef::csr_rep< T, distributed >::csr_rep ( const asr< T, distributed, A > &  a)
inlineexplicit

Definition at line 190 of file csr.h.

Member Function Documentation

template<class T >
template<class A >
void rheolef::csr_rep< T, distributed >::build_from_asr ( const asr< T, distributed, A > &  a)

Definition at line 79 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::resize ( const distributor row_ownership,
const distributor col_ownership,
size_type  nnz1 = 0 
)

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 70 of file csr_mpi.cc.

template<class T >
template<class A >
void rheolef::csr_rep< T, distributed >::build_from_diag ( const array_rep< T, distributed, A > &  d)

Definition at line 22 of file csr.cc.

template<class T >
const distributor& rheolef::csr_rep< T, distributed >::row_ownership ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 123 of file csr.h.

template<class T >
const distributor& rheolef::csr_rep< T, distributed >::col_ownership ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 124 of file csr.h.

template<class T >
const communicator& rheolef::csr_rep< T, distributed >::comm ( ) const
inline

Definition at line 125 of file csr.h.

template<class T >
const_iterator rheolef::csr_rep< T, distributed >::begin ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 126 of file csr.h.

template<class T >
const_iterator rheolef::csr_rep< T, distributed >::end ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 127 of file csr.h.

template<class T >
iterator rheolef::csr_rep< T, distributed >::begin ( )
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 128 of file csr.h.

template<class T >
iterator rheolef::csr_rep< T, distributed >::end ( )
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 129 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::ext_nnz ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 130 of file csr.h.

template<class T >
const_iterator rheolef::csr_rep< T, distributed >::ext_begin ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 131 of file csr.h.

template<class T >
const_iterator rheolef::csr_rep< T, distributed >::ext_end ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 132 of file csr.h.

template<class T >
iterator rheolef::csr_rep< T, distributed >::ext_begin ( )
inline

Definition at line 133 of file csr.h.

template<class T >
iterator rheolef::csr_rep< T, distributed >::ext_end ( )
inline

Definition at line 134 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::nrow ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 135 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::ncol ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 136 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::nnz ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 137 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::dis_nrow ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 138 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::dis_ncol ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 139 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::dis_nnz ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 140 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::dis_ext_nnz ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 141 of file csr.h.

template<class T >
bool rheolef::csr_rep< T, distributed >::is_symmetric ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 142 of file csr.h.

template<class T >
void rheolef::csr_rep< T, distributed >::set_symmetry ( bool  is_symm)
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 143 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::pattern_dimension ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 144 of file csr.h.

template<class T >
void rheolef::csr_rep< T, distributed >::set_pattern_dimension ( size_type  dim)
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 145 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::row_first_index ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 146 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::row_last_index ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 147 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::col_first_index ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 148 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::col_last_index ( ) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 149 of file csr.h.

template<class T >
csr_rep< T, distributed >::size_type rheolef::csr_rep< T, distributed >::jext2dis_j ( size_type  jext) const
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 182 of file csr.h.

template<class T >
idiststream & rheolef::csr_rep< T, distributed >::get ( idiststream &  ips)
inline

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 206 of file csr.h.

template<class T >
odiststream & rheolef::csr_rep< T, distributed >::put ( odiststream ops) const

Definition at line 152 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::dump ( const std::string &  name) const

Definition at line 190 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::mult ( const vec< T, distributed > &  x,
vec< T, distributed > &  y 
) const

Definition at line 202 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::trans_mult ( const vec< T, distributed > &  x,
vec< T, distributed > &  y 
) const

Definition at line 243 of file csr_mpi.cc.

template<class T >
csr_rep< T, distributed > & rheolef::csr_rep< T, distributed >::operator*= ( const T &  lambda)

Reimplemented from rheolef::csr_rep< T, sequential >.

Definition at line 291 of file csr_mpi.cc.

template<class T >
template<class BinaryOp >
void rheolef::csr_rep< T, distributed >::assign_add ( const csr_rep< T, distributed > &  a,
const csr_rep< T, distributed > &  b,
BinaryOp  binop 
)

Definition at line 370 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::build_transpose ( csr_rep< T, distributed > &  b) const

Definition at line 415 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::assign_mult ( const csr_rep< T, distributed > &  a,
const csr_rep< T, distributed > &  b 
)

Definition at line 437 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::_scatter_init ( ) const
protected

Definition at line 129 of file csr_mpi.cc.

template<class T >
void rheolef::csr_rep< T, distributed >::_scatter_init_guard ( ) const
inlineprotected

Definition at line 173 of file csr.h.

Member Data Documentation

template<class T >
csr_rep<T,sequential> rheolef::csr_rep< T, distributed >::_ext
protected

Definition at line 163 of file csr.h.

template<class T >
std::vector<size_type> rheolef::csr_rep< T, distributed >::_jext2dis_j
protected

Definition at line 164 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::_dis_nnz
protected

Definition at line 165 of file csr.h.

template<class T >
size_type rheolef::csr_rep< T, distributed >::_dis_ext_nnz
protected

Definition at line 166 of file csr.h.

template<class T >
bool rheolef::csr_rep< T, distributed >::_scatter_initialized
mutableprotected

Definition at line 168 of file csr.h.

template<class T >
scatter_message<std::vector<T> > rheolef::csr_rep< T, distributed >::_from
mutableprotected

Definition at line 169 of file csr.h.

template<class T >
scatter_message<std::vector<T> > rheolef::csr_rep< T, distributed >::_to
mutableprotected

Definition at line 170 of file csr.h.

template<class T >
std::vector<T> rheolef::csr_rep< T, distributed >::_buffer
mutableprotected

Definition at line 171 of file csr.h.


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