Feel++ 0.91.0
Feel::GraphCSR Class Reference

Graph representation of the Compressed Sparse Row format. More...

#include <graphcsr.hpp>

List of all members.

Public Types

Typedefs
typedef std::vector< size_typenz_type
typedef boost::shared_ptr
< nz_type > 
nz_ptrtype
typedef boost::tuple
< size_type, size_type,
std::set< size_type > > 
row_type
typedef std::map< size_type,
row_type > 
storage_type
typedef boost::shared_ptr
< storage_type > 
storage_ptrtype
typedef storage_type::iterator iterator
typedef
storage_type::const_iterator 
const_iterator

Public Member Functions

Constructors, destructor
 GraphCSR (size_type n=0, size_type first_row_entry_on_proc=0, size_type last_row_entry_on_proc=0, size_type first_col_entry_on_proc=0, size_type last_col_entry_on_proc=0)
 GraphCSR (GraphCSR const &g)
 ~GraphCSR ()
Operator overloads
GraphCSRoperator= (GraphCSR const &g)
Accessors
size_type firstRowEntryOnProc () const
size_type lastRowEntryOnProc () const
size_type firstColEntryOnProc () const
size_type lastColEntryOnProc () const
size_type size () const
bool empty () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
row_type & row (size_type i)
row_type const & row (size_type i) const
size_type maxNnz () const
std::vector< size_type > const & nNz () const
std::vector< size_type > const & nNzOnProc () const
std::vector< size_type > const & nNzOffProc () const
mpi::communicator const & comm () const
Mutators
void setFirstRowEntryOnProc (size_type entry)
void setFirstColEntryOnProc (size_type entry)
void setLastRowEntryOnProc (size_type entry)
void setLastColEntryOnProc (size_type entry)
Methods
void close ()

Detailed Description

Graph representation of the Compressed Sparse Row format.

Author:
Christophe Prud'homme
See also:

Constructor & Destructor Documentation

Feel::GraphCSR::GraphCSR ( size_type  n = 0,
size_type  first_row_entry_on_proc = 0,
size_type  last_row_entry_on_proc = 0,
size_type  first_col_entry_on_proc = 0,
size_type  last_col_entry_on_proc = 0 
)

default constructor

Parameters:
nnumber of rows in the graph
Feel::GraphCSR::GraphCSR ( GraphCSR const &  g)

copy constructor

Feel::GraphCSR::~GraphCSR ( )

destructor


Member Function Documentation

iterator Feel::GraphCSR::begin ( ) [inline]
Returns:
begin (rw) iterator on graph

Referenced by close().

const_iterator Feel::GraphCSR::begin ( ) const [inline]
Returns:
begin (ro) iterator on graph
void Feel::GraphCSR::close ( )

close the graph: compute some information per row (ie number of non-zero entries per row )

References begin(), end(), firstColEntryOnProc(), firstRowEntryOnProc(), lastColEntryOnProc(), lastRowEntryOnProc(), and size().

mpi::communicator const& Feel::GraphCSR::comm ( ) const [inline]
Returns:
the communicator
bool Feel::GraphCSR::empty ( ) const [inline]
Returns:
true if the graph is empty, false otherwise
iterator Feel::GraphCSR::end ( ) [inline]
Returns:
end (rw) iterator on graph

Referenced by close().

const_iterator Feel::GraphCSR::end ( ) const [inline]
Returns:
end (ro) iterator on graph
size_type Feel::GraphCSR::firstColEntryOnProc ( ) const [inline]
Returns:
the first entry index on proc

Referenced by close().

size_type Feel::GraphCSR::firstRowEntryOnProc ( ) const [inline]
Returns:
the first entry index on proc

Referenced by close().

size_type Feel::GraphCSR::lastColEntryOnProc ( ) const [inline]
Returns:
the last entry index on proc

Referenced by close().

size_type Feel::GraphCSR::lastRowEntryOnProc ( ) const [inline]
Returns:
the last entry index on proc

Referenced by close().

size_type Feel::GraphCSR::maxNnz ( ) const [inline]
Returns:
the maximum number of non-zero entries per row
std::vector<size_type> const& Feel::GraphCSR::nNz ( ) const [inline]
Returns:
the array containing the number of non-zero entries per row that the current processor will deal with (rows that belong to the proc or not)
std::vector<size_type> const& Feel::GraphCSR::nNzOffProc ( ) const [inline]
Returns:
the array containing the number of non-zero entries per row on other processors
std::vector<size_type> const& Feel::GraphCSR::nNzOnProc ( ) const [inline]
Returns:
the array containing the number of non-zero entries per row on the current processor
GraphCSR & Feel::GraphCSR::operator= ( GraphCSR const &  g)

copy operator

row_type const& Feel::GraphCSR::row ( size_type  i) const [inline]

get the i-th row (const)

row_type& Feel::GraphCSR::row ( size_type  i) [inline]

get the i-th row

size_type Feel::GraphCSR::size ( ) const [inline]
Returns:
the number of rows in the pattern

Referenced by close().