SkelGIS  3.0
skelgis::DMatrix< T, R, line > Struct Template Reference

DMatrix class. More...

#include <dmatrix.hpp>

List of all members.

Public Member Functions

 DMatrix ()
 default constructor of the distributed matrix interface
 DMatrix (DMatrix_impl< T, R, line > *_m)
 constructor of the distributed matrix interface from pointer
 DMatrix (DMatrix< T, R, line > &_m)
 constructor of the distributed matrix interface with another DMatrix
 DMatrix (HEADER h, const T value, bool loc=false)
 constructor of the distributed matrix interface from a HEADER and a default value
 DMatrix (const char *binFile, bool loc=false)
 constructor of the distributed matrix interface from a binary file
 ~DMatrix ()
 destructor of the distributed matrix
void init (DMatrix_impl< T, R, line > *_m)
 initialization of the distributed matrix interface from pointer
void init (DMatrix< T, R, line > &_m)
 initialization of the distributed matrix interface from another DMatrix
void init (HEADER h, const T value, bool loc=false)
 initialization of the distributed matrix interface from a HEADER and a default value
void init (const char *binFile, bool loc=false)
 initialization of the distributed matrix interface from a binary file
void erase ()
 to erase and clear the DMatrix
getValue (iterator< T, R > it) const
 Methods to get the value of the matrix at the iterator it (alternative to [it])
getValue (iterator_cont< T, R > it) const
getValue (iterator_step< T, R > it) const
getValue (iterator_rev< T, R > it) const
getValue (iterator_phb_left< T, R > it) const
getValue (iterator_phb_right< T, R > it) const
getValue (iterator_phb_up< T, R > it) const
getValue (iterator_phb_down< T, R > it) const
void setValue (iterator< T, R > it, T value)
 Methods to set the value of the matrix at the iterator it (alternative to [it]=)
void setValue (iterator_cont< T, R > it, T value)
void setValue (iterator_step< T, R > it, T value)
void setValue (iterator_rev< T, R > it, T value)
void setValue (iterator_phb_left< T, R > it, T value)
void setValue (iterator_phb_right< T, R > it, T value)
void setValue (iterator_phb_up< T, R > it, T value)
void setValue (iterator_phb_down< T, R > it, T value)
void setGlobalMiddleValue (T val)
 Set value in the middle of the global matrix.
void setPhysicalBorder (T val)
 Set all the values of the physical border of the matrix.
void setRightPhysicalBorder (T val)
 Set all the values on the right of physical border of the matrix.
void setLeftPhysicalBorder (T val)
 Set all the values on the left of physical border of the matrix.
void setUpPhysicalBorder (T val)
 Set all the values on the up of physical border of the matrix.
void setDownPhysicalBorder (T val)
 Set all the values on the down of physical border of the matrix.
iterator< T, R > begin ()
 Get the beginning iterator of the DMatrix (on the first element of the DMatrix)
iterator_cont< T, R > begin_cont ()
iterator_rev< T, R > begin_rev ()
iterator_step< T, R > begin_step (int step, int nb)
iterator_phb_left< T, R > begin_phb_left ()
iterator_phb_right< T, R > begin_phb_right ()
iterator_phb_up< T, R > begin_phb_up ()
iterator_phb_down< T, R > begin_phb_down ()
iterator_line< T, R > begin_line ()
iterator< T, R > end ()
 Get the ending iterator of the DMatrix (on the last element of the DMatrix)
iterator_cont< T, R > end_cont ()
iterator_rev< T, R > end_rev ()
iterator_step< T, R > end_step ()
iterator_phb_left< T, R > end_phb_left ()
iterator_phb_right< T, R > end_phb_right ()
iterator_phb_up< T, R > end_phb_up ()
iterator_phb_down< T, R > end_phb_down ()
iterator_line< T, R > end_line ()
T & operator[] (iterator< T, R > it)
 Operator [] to get and set an element of the matrix at iterator it.
T & operator[] (iterator_cont< T, R > it)
T & operator[] (iterator_rev< T, R > it)
T & operator[] (iterator_step< T, R > it)
T & operator[] (iterator_phb_left< T, R > it)
T & operator[] (iterator_phb_right< T, R > it)
T & operator[] (iterator_phb_up< T, R > it)
T & operator[] (iterator_phb_down< T, R > it)
DMatrix< T, R, line > & operator= (DMatrix< T, R, line > &right)
 Operator = to assign the current DMatrix interface object to another one.
void print ()
 Print the matrix by block.
void printAll ()
 Print all the matrix by block.
void write (char *binFile)
 Saving in a bin file the distributed matrix interface.
void getBorders ()
 get borders
T * getAllRight (iterator< T, R > it)
 Get all neighbor right values for the element at iterator it.
T * getAllRight (iterator_cont< T, R > it)
T * getAllRight (iterator_step< T, R > it)
T * getAllRight (iterator_rev< T, R > it)
T * getAllRight (iterator_phb_left< T, R > it)
T * getAllLeft (iterator< T, R > it)
 Get all neighbor left values for the element at iterator it.
T * getAllLeft (iterator_cont< T, R > it)
T * getAllLeft (iterator_step< T, R > it)
T * getAllLeft (iterator_rev< T, R > it)
T * getAllLeft (iterator_phb_right< T, R > it)
T * getAllUp (iterator< T, R > it)
 Get all neighbor up values for the element at iterator it.
T * getAllUp (iterator_cont< T, R > it)
T * getAllUp (iterator_step< T, R > it)
T * getAllUp (iterator_rev< T, R > it)
T * getAllUp (iterator_phb_down< T, R > it)
T * getAllDown (iterator< T, R > it)
 Get all neighbor down values for the element at iterator it.
T * getAllDown (iterator_cont< T, R > it)
T * getAllDown (iterator_step< T, R > it)
T * getAllDown (iterator_rev< T, R > it)
T * getAllDown (iterator_phb_up< T, R > it)
T * getAllRightDown (iterator< T, R > it)
 Get all neighbor right down values for the element at iterator it.
T * getAllRightDown (iterator_cont< T, R > it)
T * getAllRightDown (iterator_step< T, R > it)
T * getAllRightDown (iterator_rev< T, R > it)
T * getAllLeftDown (iterator< T, R > it)
 Get all neighbor left down values for the element at iterator it.
T * getAllLeftDown (iterator_cont< T, R > it)
T * getAllLeftDown (iterator_step< T, R > it)
T * getAllLeftDown (iterator_rev< T, R > it)
T * getAllRightUp (iterator< T, R > it)
 Get all neighbor right up values for the element at iterator it.
T * getAllRightUp (iterator_cont< T, R > it)
T * getAllRightUp (iterator_step< T, R > it)
T * getAllRightUp (iterator_rev< T, R > it)
T * getAllLeftUp (iterator< T, R > it)
 Get all neighbor left up values for the element at iterator it.
T * getAllLeftUp (iterator_cont< T, R > it)
T * getAllLeftUp (iterator_step< T, R > it)
T * getAllLeftUp (iterator_rev< T, R > it)
getRight (iterator< T, R > it)
 Get the nearest right neighbor value for the element at iterator it.
getRight (iterator_cont< T, R > it)
getRight (iterator_step< T, R > it)
getRight (iterator_rev< T, R > it)
getRight (iterator_phb_left< T, R > it)
getLeft (iterator< T, R > it)
 Get the nearest left neighbor value for the element at iterator it.
getLeft (iterator_cont< T, R > it)
getLeft (iterator_step< T, R > it)
getLeft (iterator_rev< T, R > it)
getLeft (iterator_phb_right< T, R > it)
getUp (iterator< T, R > it)
 Get the nearest up neighbor value for the element at iterator it.
getUp (iterator_cont< T, R > it)
getUp (iterator_step< T, R > it)
getUp (iterator_rev< T, R > it)
getUp (iterator_phb_down< T, R > it)
getDown (iterator< T, R > it)
 Get the nearest down neighbor value for the element at iterator it.
getDown (iterator_cont< T, R > it)
getDown (iterator_step< T, R > it)
getDown (iterator_rev< T, R > it)
getDown (iterator_phb_up< T, R > it)
getRightDown (iterator< T, R > it)
 Get the nearest right down neighbor value for the element at iterator it.
getRightDown (iterator_cont< T, R > it)
getRightDown (iterator_step< T, R > it)
getRightDown (iterator_rev< T, R > it)
getLeftDown (iterator< T, R > it)
 Get the nearest left down neighbor value for the element at iterator it.
getLeftDown (iterator_cont< T, R > it)
getLeftDown (iterator_step< T, R > it)
getLeftDown (iterator_rev< T, R > it)
getRightUp (iterator< T, R > it)
 Get the nearest right up neighbor value for the element at iterator it.
getRightUp (iterator_cont< T, R > it)
getRightUp (iterator_step< T, R > it)
getRightUp (iterator_rev< T, R > it)
getLeftUp (iterator< T, R > it)
 Get the nearest left up neighbor value for the element at iterator it.
getLeftUp (iterator_cont< T, R > it)
getLeftUp (iterator_step< T, R > it)
getLeftUp (iterator_rev< T, R > it)
T * getAllX (iterator< T, R > it)
 Get all values along X axe for the element at iterator it.
T * getAllX (iterator_cont< T, R > it)
T * getAllX (iterator_step< T, R > it)
T * getAllX (iterator_rev< T, R > it)
void getAllX (iterator< T, R > it, T *t)
 Get all values along X axe for the element at iterator it.
void getAllX (iterator_cont< T, R > it, T *t)
void getAllX (iterator_rev< T, R > it, T *t)
void getAllX (iterator_step< T, R > it, T *t)
T * getAllY (iterator< T, R > it)
 Get all values along Y axe for the element at iterator it.
T * getAllY (iterator_cont< T, R > it)
T * getAllY (iterator_step< T, R > it)
T * getAllY (iterator_rev< T, R > it)
void getAllY (iterator< T, R > it, T *t)
 Get all values along Y axe for the element at iterator it.
void getAllY (iterator_cont< T, R > it, T *t)
void getAllY (iterator_rev< T, R > it, T *t)
void getAllY (iterator_step< T, R > it, T *t)
T * get8 (iterator< T, R > it)
 Get all 8 directions neighbor values for the element at iterator it.
T * get8 (iterator_cont< T, R > it)
T * get8 (iterator_step< T, R > it)
T * get8 (iterator_rev< T, R > it)
T * get4 (iterator< T, R > it)
 Get all 4 directions neighbor values for the element at iterator it.
T * get4 (iterator_cont< T, R > it)
T * get4 (iterator_step< T, R > it)
T * get4 (iterator_rev< T, R > it)
getInRight (iterator_phb_left< T, R > it)
 Get the nearest right neighbor value inside the domain, for physical left border iterators.
getInLeft (iterator_phb_right< T, R > it)
 Get the nearest left neighbor value inside the domain, for physical right border iterators.
getInUp (iterator_phb_down< T, R > it)
 Get the nearest up neighbor value inside the domain, for physical down border iterators.
getInDown (iterator_phb_up< T, R > it)
 Get the nearest down neighbor value inside the domain, for physical up border iterators.
iterator< T, R > getIterator (int x, int y)
 Get all neighbor right values for the element at iterator it.
iterator< T, R > getIterator_cont (int x, int y)
iterator< T, R > getIterator_rev (int x, int y)
void getIndexes (iterator< T, R > it, int &col, int &li)
 Get the indexes of the iterator on the matrix.
void getIndexes (iterator_cont< T, R > it, int &col, int &li)
void getIndexes (iterator_rev< T, R > it, int &col, int &li)
HEADER getGlobalHeader ()
 Get the global header of the DMatrix.
HEADER getHeader ()
 Get the header of the DMatrix.
HEADER getBorderHeader ()
 Get the border header of the DMatrix.
int getCols ()
 Get the number of columns in the domain decomposition.
int getRows ()
 Get the number of rows in the domain decomposition.
int getCol ()
 Get the column number of the DMatrix.
int getRow ()
 Get the row number of the DMatrix.
T * getData ()
 Get the data table of the DMatrix.
int getBorder ()
 Get the recovery of the DMatrix (=R)
DMatrix_impl< T, R, line > * getDMatrix ()
 Get the DMatrix_impl associated to the DMatrix interface.

Protected Member Functions

T * allRight (unsigned int rank)
 Get all neighbor right values for the element to a precise rank.
T * allLeft (unsigned int rank)
 Get all neighbor left values for the element to a precise rank.
T * allUp (unsigned int rank, unsigned int width)
 Get all neighbor up values for the element to a precise rank.
T * allDown (unsigned int rank, unsigned int width)
 Get all neighbor down values for the element to a precise rank.
T * allRightDown (unsigned int rank, unsigned int width)
 Get all neighbor right down values for the element to a precise rank.
T * allLeftDown (unsigned int rank, unsigned int width)
 Get all neighbor left down values for the element to a precise rank.
T * allRightUp (unsigned int rank, unsigned int width)
 Get all neighbor right up values for the element to a precise rank.
T * allLeftUp (unsigned int rank, unsigned int width)
 Get all neighbor left up values for the element to a precise rank.
right (unsigned int rank)
 Get the nearest neighbor right value for the element to a precise rank.
left (unsigned int rank)
 Get the nearest neighbor left value for the element to a precise rank.
up (unsigned int rank, unsigned int width)
 Get the nearest neighbor up value for the element to a precise rank.
down (unsigned int rank, unsigned int width)
 Get the nearest neighbor down value for the element to a precise rank.
rightDown (unsigned int rank, unsigned int width)
 Get the nearest neighbor right down value for the element to a precise rank.
leftDown (unsigned int rank, unsigned int width)
 Get the nearest neighbor left down value for the element to a precise rank.
rightUp (unsigned int rank, unsigned int width)
 Get the nearest neighbor right up value for the element to a precise rank.
leftUp (unsigned int rank, unsigned int width)
 Get the nearest neighbor left up value for the element to a precise rank.
T * allX (unsigned int rank)
 Get all values along X axe for the element to a precise rank.
void allX (unsigned int rank, T *t)
 Get all values along X axe for the element to a precise rank.
T * allY (unsigned int rank, unsigned int width)
 Get all values along Y axe for the element to a precise rank.
void allY (unsigned int rank, unsigned int width, T *t)
 Get all values along Y axe for the element to a precise rank.
T * eight (unsigned int rank, unsigned int width)
 Get all 8 directions neighbor values for the element to a precise rank.
T * four (unsigned int rank, unsigned int width)
 Get all 4 directions neighbor values for the element to a precise rank.
inright (unsigned int rank)
 Get the nearest right neighbor value inside the domain to a precise rank.
inleft (unsigned int rank)
 Get the nearest left neighbor value inside the domain to a precise rank.
inup (unsigned int rank, unsigned int width)
 Get the nearest up neighbor value inside the domain to a precise rank.
indown (unsigned int rank, unsigned int width)
 Get the nearest down neighbor value inside the domain to a precise rank.

Protected Attributes

DMatrix_impl< T, R, line > * m
 Pointer to DMatrix_impl object.

Detailed Description

template<class T, int R, bool line = true>
struct skelgis::DMatrix< T, R, line >

DMatrix class.

template of the distributed matrix of SkelGIS. This is the first specialization of the DMatrix.

Template Parameters:
Tis the type of data to store in the DMatrix
Ris the overlap distance needed by the calculation, in other words, the size of the physical border needed
lineis the parallel distribution wanted, the default value is true, then the parallel distribution will be divided along height but not along width

Definition at line 20 of file dmatrix.hpp.


Constructor & Destructor Documentation

template<class T, int R, bool line = true>
skelgis::DMatrix< T, R, line >::DMatrix ( DMatrix_impl< T, R, line > *  _m) [inline]

constructor of the distributed matrix interface from pointer

This Constructor is used in the user function when a skeleton ApplyList is called.

Parameters:
_mis a DMatrix_impl pointer

Definition at line 497 of file dmatrix.hpp.

template<class T, int R, bool line = true>
skelgis::DMatrix< T, R, line >::DMatrix ( DMatrix< T, R, line > &  _m) [inline]

constructor of the distributed matrix interface with another DMatrix

It is possible to construct a DMatrix instance from another DMatrix instance

Parameters:
_mis a DMatrix object

Definition at line 505 of file dmatrix.hpp.

template<class T, int R, bool line = true>
skelgis::DMatrix< T, R, line >::DMatrix ( HEADER  h,
const T  value,
bool  loc = false 
) [inline]

constructor of the distributed matrix interface from a HEADER and a default value

The HEADER essentially define the size of the DMatrix, while the default value is given to each element of the DMatrix.

Parameters:
his the header to construct the object (see skelgis/util/utility.hpp)
valueis the default value to put in the matrix
locis a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction).

Definition at line 515 of file dmatrix.hpp.

template<class T, int R, bool line = true>
skelgis::DMatrix< T, R, line >::DMatrix ( const char *  binFile,
bool  loc = false 
) [inline]

constructor of the distributed matrix interface from a binary file

A specific binary file format is read by SkelGIS. A Dmatrix instance can be constructed from a binary file.

Parameters:
binFileis a binary input file to construct the DMatrix with
locis a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction).

Definition at line 524 of file dmatrix.hpp.


Member Function Documentation

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allDown ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all neighbor down values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 94 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allLeft ( unsigned int  rank) [inline, protected]

Get all neighbor left values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 56 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allLeftDown ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all neighbor left down values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 132 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allLeftUp ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all neighbor left up values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 170 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allRight ( unsigned int  rank) [inline, protected]

Get all neighbor right values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 37 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allRightDown ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all neighbor right down values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 113 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allRightUp ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all neighbor right up values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 151 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allUp ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all neighbor up values for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor values are wanted
Returns:
table of neighbor values

Definition at line 75 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allX ( unsigned int  rank) [inline, protected]

Get all values along X axe for the element to a precise rank.

Equivalent to allLeft and allRight with a single call.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
a table of all neighbor values along X

Definition at line 294 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::allX ( unsigned int  rank,
T *  t 
) [inline, protected]

Get all values along X axe for the element to a precise rank.

Equivalent to allLeft and allRight with a single call.

Parameters:
rankis the rank at which the neighbor value is wanted
resulttable of all neighbor values along X

Definition at line 320 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::allY ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all values along Y axe for the element to a precise rank.

Equivalent to allDown and allUp with a single call.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
a table of all neighbor values along X

Definition at line 344 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::allY ( unsigned int  rank,
unsigned int  width,
T *  t 
) [inline, protected]

Get all values along Y axe for the element to a precise rank.

Equivalent to allDown and allUp with a single call.

Parameters:
rankis the rank at which the neighbor value is wanted
resulttable of all neighbor values along X

Definition at line 371 of file dmatrix.hpp.

template<class T, int R, bool line = true>
iterator<T,R> skelgis::DMatrix< T, R, line >::begin ( ) [inline]

Get the beginning iterator of the DMatrix (on the first element of the DMatrix)

This method exists for each type of iterator in SkelGIS.

Returns:
the iterator of the first element

Definition at line 654 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::down ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest neighbor down value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 228 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::eight ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all 8 directions neighbor values for the element to a precise rank.

Equivalent to leftUp, up, rightUp, right, rightDown, down, leftDown and left with a single call.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
a table of all 8 directions neighbor values

Definition at line 396 of file dmatrix.hpp.

template<class T, int R, bool line = true>
iterator<T,R> skelgis::DMatrix< T, R, line >::end ( ) [inline]

Get the ending iterator of the DMatrix (on the last element of the DMatrix)

This method exists for each type of iterator in SkelGIS.

Returns:
the iterator of the last element

Definition at line 670 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::erase ( ) [inline]

to erase and clear the DMatrix

The equivalent to the erase of a std::vector in the STL. The erase will empty the DMatrix and will deallocate the memory space associated. This has to be done when the DMatrix is not usefull anymore.

Definition at line 572 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::four ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get all 4 directions neighbor values for the element to a precise rank.

Equivalent to up, right, down and left with a single call.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
a table of all 8 directions neighbor values

Definition at line 418 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::get4 ( iterator< T, R >  it) [inline]

Get all 4 directions neighbor values for the element at iterator it.

Equivalent to getUp, getRight, getDown and getLeft with a single call.

Parameters:
itis the iterator position
Returns:
a table of all 4 directions neighbor values

Definition at line 1023 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::get8 ( iterator< T, R >  it) [inline]

Get all 8 directions neighbor values for the element at iterator it.

Equivalent to getLeftUp, getUp, getRightUp, getRight, getRightDown, getDown, getLeftDown and getLeft with a single call.

Parameters:
itis the iterator position
Returns:
a table of all 8 directions neighbor values

Definition at line 1011 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllDown ( iterator< T, R >  it) [inline]

Get all neighbor down values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the down of the current it. This method exists for each type of iterator with down values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of down values

Definition at line 790 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllLeft ( iterator< T, R >  it) [inline]

Get all neighbor left values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the left of the current it. This method exists for each type of iterator with left values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of left values

Definition at line 760 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllLeftDown ( iterator< T, R >  it) [inline]

Get all neighbor left down values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the left down of the current it. This method exists for each type of iterator with left down values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of left down values

Definition at line 819 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllLeftUp ( iterator< T, R >  it) [inline]

Get all neighbor left up values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the left up of the current it. This method exists for each type of iterator with left up values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of left up values

Definition at line 847 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllRight ( iterator< T, R >  it) [inline]

Get all neighbor right values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the right of the current it. This method exists for each type of iterator with right values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of right values

Definition at line 745 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllRightDown ( iterator< T, R >  it) [inline]

Get all neighbor right down values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the right down of the current it. This method exists for each type of iterator with right down values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of right down values

Definition at line 805 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllRightUp ( iterator< T, R >  it) [inline]

Get all neighbor right up values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the right up of the current it. This method exists for each type of iterator with right up values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of right up values

Definition at line 833 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllUp ( iterator< T, R >  it) [inline]

Get all neighbor up values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the up of the current it. This method exists for each type of iterator with up values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of up values

Definition at line 775 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllX ( iterator< T, R >  it) [inline]

Get all values along X axe for the element at iterator it.

Equivalent to getAllLeft and getAllRight with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of all neighbor values along X

Definition at line 960 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::getAllX ( iterator< T, R >  it,
T *  t 
) [inline]

Get all values along X axe for the element at iterator it.

Equivalent to getAllLeft and getAllRight with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
resulttable of all neighbor values along X

Definition at line 973 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getAllY ( iterator< T, R >  it) [inline]

Get all values along Y axe for the element at iterator it.

Equivalent to getAllUp and getAllDown with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of all neighbor values along Y

Definition at line 986 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::getAllY ( iterator< T, R >  it,
T *  t 
) [inline]

Get all values along Y axe for the element at iterator it.

Equivalent to getAllUp and getAllDown with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
resulttable of all neighbor values along Y

Definition at line 999 of file dmatrix.hpp.

template<class T, int R, bool line = true>
int skelgis::DMatrix< T, R, line >::getBorder ( ) [inline]

Get the recovery of the DMatrix (=R)

Returns:
the recovery of the DMatrix

Definition at line 1477 of file dmatrix.hpp.

template<class T, int R, bool line = true>
HEADER skelgis::DMatrix< T, R, line >::getBorderHeader ( ) [inline]

Get the border header of the DMatrix.

Returns:
the border header

Definition at line 1435 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::getBorders ( ) [inline]

get borders

To get the needed parallel overlap from other processors. MPI exchanges done.

Definition at line 733 of file dmatrix.hpp.

template<class T, int R, bool line = true>
int skelgis::DMatrix< T, R, line >::getCol ( ) [inline]

Get the column number of the DMatrix.

Returns:
the column number of the DMatrix

Definition at line 1456 of file dmatrix.hpp.

template<class T, int R, bool line = true>
int skelgis::DMatrix< T, R, line >::getCols ( ) [inline]

Get the number of columns in the domain decomposition.

Returns:
the number of columns in the domain decomposition

Definition at line 1442 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T* skelgis::DMatrix< T, R, line >::getData ( ) [inline]

Get the data table of the DMatrix.

Returns:
the data table of the DMatrix

Definition at line 1470 of file dmatrix.hpp.

template<class T, int R, bool line = true>
DMatrix_impl<T,R,line>* skelgis::DMatrix< T, R, line >::getDMatrix ( ) [inline]

Get the DMatrix_impl associated to the DMatrix interface.

Returns:
the DMatrix_impl

Definition at line 1484 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getDown ( iterator< T, R >  it) [inline]

Get the nearest down neighbor value for the element at iterator it.

This method exists for each type of iterator with down value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the down neighbor element value

Definition at line 898 of file dmatrix.hpp.

template<class T, int R, bool line = true>
HEADER skelgis::DMatrix< T, R, line >::getGlobalHeader ( ) [inline]

Get the global header of the DMatrix.

Returns:
the global header

Definition at line 1421 of file dmatrix.hpp.

template<class T, int R, bool line = true>
HEADER skelgis::DMatrix< T, R, line >::getHeader ( ) [inline]

Get the header of the DMatrix.

Returns:
the header

Definition at line 1428 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::getIndexes ( iterator< T, R >  it,
int &  col,
int &  li 
) [inline]

Get the indexes of the iterator on the matrix.

This method exists for the three basic types of iterators.

Parameters:
itis the iterator from which the indexes will be taken
xis the iterator position x returned
yis the iterator position y returned

Definition at line 1412 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getInDown ( iterator_phb_up< T, R >  it) [inline]

Get the nearest down neighbor value inside the domain, for physical up border iterators.

This work for every size of R and will always give the nearest down inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value

Definition at line 1062 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getInLeft ( iterator_phb_right< T, R >  it) [inline]

Get the nearest left neighbor value inside the domain, for physical right border iterators.

This work for every size of R and will always give the nearest left inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value

Definition at line 1044 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getInRight ( iterator_phb_left< T, R >  it) [inline]

Get the nearest right neighbor value inside the domain, for physical left border iterators.

This work for every size of R and will always give the nearest right inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value

Definition at line 1035 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getInUp ( iterator_phb_down< T, R >  it) [inline]

Get the nearest up neighbor value inside the domain, for physical down border iterators.

This work for every size of R and will always give the nearest up inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value

Definition at line 1053 of file dmatrix.hpp.

template<class T, int R, bool line = true>
iterator<T,R> skelgis::DMatrix< T, R, line >::getIterator ( int  x,
int  y 
) [inline]

Get all neighbor right values for the element at iterator it.

The returned table will contain R elements. These elements are the R values on the right of the current it. This method exists for each type of iterator with right values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of right values Get all neighbor left values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the left of the current it. This method exists for each type of iterator with left values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of left values Get all neighbor up values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the up of the current it. This method exists for each type of iterator with up values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of up values Get all neighbor down values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the down of the current it. This method exists for each type of iterator with down values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of down values Get all neighbor right down values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the right down of the current it. This method exists for each type of iterator with right down values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of right down values Get all neighbor left down values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the left down of the current it. This method exists for each type of iterator with left down values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of left down values Get all neighbor right up values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the right up of the current it. This method exists for each type of iterator with right up values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of right up values Get all neighbor left up values for the element at iterator it

The returned table will contain R elements. These elements are the R values on the left up of the current it. This method exists for each type of iterator with left up values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of left up values Get the nearest right neighbor value for the element at iterator it

This method exists for each type of iterator with right value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the right neighbor element value Get the nearest left neighbor value for the element at iterator it

This method exists for each type of iterator with left value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the left neighbor element value Get the nearest up neighbor value for the element at iterator it

This method exists for each type of iterator with up value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the up neighbor element value Get the nearest down neighbor value for the element at iterator it

This method exists for each type of iterator with down value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the down neighbor element value Get the nearest right down neighbor value for the element at iterator it

This method exists for each type of iterator with right down value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the right down neighbor element value Get the nearest left down neighbor value for the element at iterator it

This method exists for each type of iterator with left down value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the left down neighbor element value Get the nearest right up neighbor value for the element at iterator it

This method exists for each type of iterator with right up value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the right up neighbor element value Get the nearest left up neighbor value for the element at iterator it

This method exists for each type of iterator with left up value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the left up neighbor element value Get all values along X axe for the element at iterator it

Equivalent to getAllLeft and getAllRight with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of all neighbor values along X Get all values along X axe for the element at iterator it

Equivalent to getAllLeft and getAllRight with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
resulttable of all neighbor values along X Get all values along Y axe for the element at iterator it

Equivalent to getAllUp and getAllDown with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
Returns:
a table of all neighbor values along Y Get all values along Y axe for the element at iterator it

Equivalent to getAllUp and getAllDown with a single call. This method exists for each type of iterator with left and right values in SkelGIS.

Parameters:
itis the iterator position
resulttable of all neighbor values along Y Get all 8 directions neighbor values for the element at iterator it

Equivalent to getLeftUp, getUp, getRightUp, getRight, getRightDown, getDown, getLeftDown and getLeft with a single call.

Parameters:
itis the iterator position
Returns:
a table of all 8 directions neighbor values Get all 4 directions neighbor values for the element at iterator it

Equivalent to getUp, getRight, getDown and getLeft with a single call.

Parameters:
itis the iterator position
Returns:
a table of all 4 directions neighbor values Get the nearest right neighbor value inside the domain, for physical left border iterators

This work for every size of R and will always give the nearest right inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value Get the nearest left neighbor value inside the domain, for physical right border iterators

This work for every size of R and will always give the nearest left inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value Get the nearest up neighbor value inside the domain, for physical down border iterators

This work for every size of R and will always give the nearest up inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value Get the nearest down neighbor value inside the domain, for physical up border iterators

This work for every size of R and will always give the nearest down inside-domain value.

Parameters:
itis the physical border iterator position
Returns:
the neighbor value Get the iterator on the matrix at position (x,y)

This method exists for the three basic types of iterators.

Parameters:
xis row index y is column index
Returns:
returns the iterator at position (x,y)

Definition at line 1400 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getLeft ( iterator< T, R >  it) [inline]

Get the nearest left neighbor value for the element at iterator it.

This method exists for each type of iterator with left value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the left neighbor element value

Definition at line 872 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getLeftDown ( iterator< T, R >  it) [inline]

Get the nearest left down neighbor value for the element at iterator it.

This method exists for each type of iterator with left down value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the left down neighbor element value

Definition at line 923 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getLeftUp ( iterator< T, R >  it) [inline]

Get the nearest left up neighbor value for the element at iterator it.

This method exists for each type of iterator with left up value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the left up neighbor element value

Definition at line 947 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getRight ( iterator< T, R >  it) [inline]

Get the nearest right neighbor value for the element at iterator it.

This method exists for each type of iterator with right value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the right neighbor element value

Definition at line 859 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getRightDown ( iterator< T, R >  it) [inline]

Get the nearest right down neighbor value for the element at iterator it.

This method exists for each type of iterator with right down value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the right down neighbor element value

Definition at line 911 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getRightUp ( iterator< T, R >  it) [inline]

Get the nearest right up neighbor value for the element at iterator it.

This method exists for each type of iterator with right up value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the right up neighbor element value

Definition at line 935 of file dmatrix.hpp.

template<class T, int R, bool line = true>
int skelgis::DMatrix< T, R, line >::getRow ( ) [inline]

Get the row number of the DMatrix.

Returns:
the row number of the DMatrix

Definition at line 1463 of file dmatrix.hpp.

template<class T, int R, bool line = true>
int skelgis::DMatrix< T, R, line >::getRows ( ) [inline]

Get the number of rows in the domain decomposition.

Returns:
the number of rows in the domain decomposition

Definition at line 1449 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getUp ( iterator< T, R >  it) [inline]

Get the nearest up neighbor value for the element at iterator it.

This method exists for each type of iterator with up value in SkelGIS.

Parameters:
itis the iterator position
Returns:
the up neighbor element value

Definition at line 885 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::getValue ( iterator< T, R >  it) const [inline]

Methods to get the value of the matrix at the iterator it (alternative to [it])

This method exists for each type of iterator in SkelGIS. This method is const as the value returned could not be modified.

Parameters:
itis the iterator position
Returns:
the value at the iterator it

Definition at line 581 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::indown ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest down neighbor value inside the domain to a precise rank.

This work for every size of R and will always give the nearest down inside-domain value.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 478 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::init ( DMatrix_impl< T, R, line > *  _m) [inline]

initialization of the distributed matrix interface from pointer

The equivalent to the constructor from a pointer

Parameters:
_mis a DMatrix_impl object

Definition at line 536 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::init ( DMatrix< T, R, line > &  _m) [inline]

initialization of the distributed matrix interface from another DMatrix

The equivalent to the constructor from another DMatrix

Parameters:
_mis a DMatrix object

Definition at line 544 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::init ( HEADER  h,
const T  value,
bool  loc = false 
) [inline]

initialization of the distributed matrix interface from a HEADER and a default value

The equivalent to the constructor from a HEADER and a default value

Parameters:
his the header to construct the object (see skelgis/util/utility.hpp)
valueis the default value to put in the matrix
locis a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction).

Definition at line 554 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::init ( const char *  binFile,
bool  loc = false 
) [inline]

initialization of the distributed matrix interface from a binary file

The equivalent to the constructor from a binary file

Parameters:
binFileis a binary input file to construct the DMatrix with
locis a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction).

Definition at line 563 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::inleft ( unsigned int  rank) [inline, protected]

Get the nearest left neighbor value inside the domain to a precise rank.

This work for every size of R and will always give the nearest left inside-domain value.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 450 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::inright ( unsigned int  rank) [inline, protected]

Get the nearest right neighbor value inside the domain to a precise rank.

This work for every size of R and will always give the nearest right inside-domain value.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 436 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::inup ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest up neighbor value inside the domain to a precise rank.

This work for every size of R and will always give the nearest up inside-domain value.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 464 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::left ( unsigned int  rank) [inline, protected]

Get the nearest neighbor left value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 202 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::leftDown ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest neighbor left down value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 254 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::leftUp ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest neighbor left up value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 280 of file dmatrix.hpp.

template<class T, int R, bool line = true>
DMatrix<T,R,line>& skelgis::DMatrix< T, R, line >::operator= ( DMatrix< T, R, line > &  right) [inline]

Operator = to assign the current DMatrix interface object to another one.

Parameters:
rightis the other DMatrix object
Returns:
the reference to the new current DMatrix object

Definition at line 702 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T& skelgis::DMatrix< T, R, line >::operator[] ( iterator< T, R >  it) [inline]

Operator [] to get and set an element of the matrix at iterator it.

This method exists for each type of iterator in SkelGIS.

Parameters:
itis the iterator position
Returns:
the reference to the value at it

Definition at line 687 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::print ( ) [inline]

Print the matrix by block.

This method will print the DMatrix by processors in the directory "outputs".

Definition at line 709 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::printAll ( ) [inline]

Print all the matrix by block.

This method will print the DMatrix by processors in the directory "outputs". It will also print the physical border of the DMatrix and the parallel overlap of the DMatrix.

Definition at line 717 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::right ( unsigned int  rank) [inline, protected]

Get the nearest neighbor right value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 189 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::rightDown ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest neighbor right down value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 241 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::rightUp ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest neighbor right up value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 267 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setDownPhysicalBorder ( val) [inline]

Set all the values on the down of physical border of the matrix.

Parameters:
valis the value to set

Definition at line 646 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setGlobalMiddleValue ( val) [inline]

Set value in the middle of the global matrix.

Parameters:
valis the value to affect

Definition at line 611 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setLeftPhysicalBorder ( val) [inline]

Set all the values on the left of physical border of the matrix.

Parameters:
valis the value to set

Definition at line 632 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setPhysicalBorder ( val) [inline]

Set all the values of the physical border of the matrix.

Parameters:
valis the value to set

Definition at line 618 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setRightPhysicalBorder ( val) [inline]

Set all the values on the right of physical border of the matrix.

Parameters:
valis the value to set

Definition at line 625 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setUpPhysicalBorder ( val) [inline]

Set all the values on the up of physical border of the matrix.

Parameters:
valis the value to set

Definition at line 639 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::setValue ( iterator< T, R >  it,
value 
) [inline]

Methods to set the value of the matrix at the iterator it (alternative to [it]=)

This method exists for each type of iterator in SkelGIS.

Parameters:
itis the iterator position
valueis the value to set

Definition at line 597 of file dmatrix.hpp.

template<class T, int R, bool line = true>
T skelgis::DMatrix< T, R, line >::up ( unsigned int  rank,
unsigned int  width 
) [inline, protected]

Get the nearest neighbor up value for the element to a precise rank.

Parameters:
rankis the rank at which the neighbor value is wanted
Returns:
the neighbor value

Definition at line 215 of file dmatrix.hpp.

template<class T, int R, bool line = true>
void skelgis::DMatrix< T, R, line >::write ( char *  binFile) [inline]

Saving in a bin file the distributed matrix interface.

This method writes the DMatrix in a single binary output file.

Parameters:
binFileis a binary output file to save the DMatrix in

Definition at line 725 of file dmatrix.hpp.


Member Data Documentation

template<class T, int R, bool line = true>
DMatrix_impl<T,R,line>* skelgis::DMatrix< T, R, line >::m [protected]

Pointer to DMatrix_impl object.

The pointer to Dmatrix_impl object is the real distributed matrix object. DMatrix class is the user interface to this object.

Definition at line 28 of file dmatrix.hpp.


The documentation for this struct was generated from the following file:
 All Classes Files Functions Variables Defines