SkelGIS
3.0
|
#include <dmatrix.hpp>
Public Member Functions | |
DMatrix () | |
default constructor of the distributed matrix interface | |
DMatrix (DMatrix_impl< T, R, false > *_m) | |
constructor of the distributed matrix interface from pointer | |
DMatrix (DMatrix< T, R, false > &_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, false > *_m) |
initialization of the distributed matrix interface from pointer | |
void | init (DMatrix< T, R, false > &_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 | |
T | getValue (iterator< T, R > it) const |
Methods to get the value of the matrix at the iterator it (alternative to [it]) | |
T | getValue (iterator_cont< T, R > it) const |
T | getValue (iterator_step< T, R > it) const |
T | getValue (iterator_rev< T, R > it) const |
T | getValue (iterator_phb_left< T, R > it) const |
T | getValue (iterator_phb_right< T, R > it) const |
T | getValue (iterator_phb_up< T, R > it) const |
T | 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, false > & | operator= (DMatrix< T, R, false > &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) |
T | getRight (iterator< T, R > it) |
Get the nearest right neighbor value for the element at iterator it. | |
T | getRight (iterator_cont< T, R > it) |
T | getRight (iterator_step< T, R > it) |
T | getRight (iterator_rev< T, R > it) |
T | getRight (iterator_phb_left< T, R > it) |
T | getLeft (iterator< T, R > it) |
Get the nearest left neighbor value for the element at iterator it. | |
T | getLeft (iterator_cont< T, R > it) |
T | getLeft (iterator_step< T, R > it) |
T | getLeft (iterator_rev< T, R > it) |
T | getLeft (iterator_phb_right< T, R > it) |
T | getUp (iterator< T, R > it) |
Get the nearest up neighbor value for the element at iterator it. | |
T | getUp (iterator_cont< T, R > it) |
T | getUp (iterator_step< T, R > it) |
T | getUp (iterator_rev< T, R > it) |
T | getUp (iterator_phb_down< T, R > it) |
T | getDown (iterator< T, R > it) |
Get the nearest down neighbor value for the element at iterator it. | |
T | getDown (iterator_cont< T, R > it) |
T | getDown (iterator_step< T, R > it) |
T | getDown (iterator_rev< T, R > it) |
T | getDown (iterator_phb_up< T, R > it) |
T | getRightDown (iterator< T, R > it) |
Get the nearest right down neighbor value for the element at iterator it. | |
T | getRightDown (iterator_cont< T, R > it) |
T | getRightDown (iterator_step< T, R > it) |
T | getRightDown (iterator_rev< T, R > it) |
T | getLeftDown (iterator< T, R > it) |
Get the nearest left down neighbor value for the element at iterator it. | |
T | getLeftDown (iterator_cont< T, R > it) |
T | getLeftDown (iterator_step< T, R > it) |
T | getLeftDown (iterator_rev< T, R > it) |
T | getRightUp (iterator< T, R > it) |
Get the nearest right up neighbor value for the element at iterator it. | |
T | getRightUp (iterator_cont< T, R > it) |
T | getRightUp (iterator_step< T, R > it) |
T | getRightUp (iterator_rev< T, R > it) |
T | getLeftUp (iterator< T, R > it) |
Get the nearest left up neighbor value for the element at iterator it. | |
T | getLeftUp (iterator_cont< T, R > it) |
T | getLeftUp (iterator_step< T, R > it) |
T | 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) |
T | getInRight (iterator_phb_left< T, R > it) |
Get the nearest right neighbor value inside the domain, for physical left border iterators. | |
T | getInLeft (iterator_phb_right< T, R > it) |
Get the nearest left neighbor value inside the domain, for physical right border iterators. | |
T | getInUp (iterator_phb_down< T, R > it) |
Get the nearest up neighbor value inside the domain, for physical down border iterators. | |
T | 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 indexes of the iterator on the matrix. | |
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, false > * | 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. | |
T | right (unsigned int rank) |
Get the nearest neighbor right value for the element to a precise rank. | |
T | left (unsigned int rank) |
Get the nearest neighbor left value for the element to a precise rank. | |
T | up (unsigned int rank, unsigned int width) |
Get the nearest neighbor up value for the element to a precise rank. | |
T | down (unsigned int rank, unsigned int width) |
Get the nearest neighbor down value for the element to a precise rank. | |
T | rightDown (unsigned int rank, unsigned int width) |
Get the nearest neighbor right down value for the element to a precise rank. | |
T | leftDown (unsigned int rank, unsigned int width) |
Get the nearest neighbor left down value for the element to a precise rank. | |
T | rightUp (unsigned int rank, unsigned int width) |
Get the nearest neighbor right up value for the element to a precise rank. | |
T | 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. | |
T | inright (unsigned int rank) |
Get the nearest right neighbor value inside the domain to a precise rank. | |
T | inleft (unsigned int rank) |
Get the nearest left neighbor value inside the domain to a precise rank. | |
T | inup (unsigned int rank, unsigned int width) |
Get the nearest up neighbor value inside the domain to a precise rank. | |
T | 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, false > * | m |
Pointer to DMatrix_impl object. |
DMatrix class.
template of the distributed matrix of SkelGIS. This is the third specialization of the DMatrix.
T | is the type of data to store in the DMatrix |
R | is the overlap distance needed by the calculation, in other words, the size of the physical border needed The line template parameter is specialized with the false value. In this case the parallel data distribution will be done along height and width (by block). |
Definition at line 1778 of file dmatrix.hpp.
skelgis::DMatrix< T, R, false >::DMatrix | ( | DMatrix_impl< T, R, false > * | _m | ) | [inline] |
constructor of the distributed matrix interface from pointer
This Constructor is used in the user function when a skeleton ApplyList is called.
_m | is a DMatrix_impl pointer |
Definition at line 2254 of file dmatrix.hpp.
skelgis::DMatrix< T, R, false >::DMatrix | ( | DMatrix< T, R, false > & | _m | ) | [inline] |
skelgis::DMatrix< T, R, false >::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.
h | is the header to construct the object (see skelgis/util/utility.hpp) |
value | is the default value to put in the matrix |
loc | is a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction). |
Definition at line 2272 of file dmatrix.hpp.
skelgis::DMatrix< T, R, false >::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.
binFile | is a binary input file to construct the DMatrix with |
loc | is a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction). |
Definition at line 2281 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allDown | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get all neighbor down values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1852 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allLeft | ( | unsigned int | rank | ) | [inline, protected] |
Get all neighbor left values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1814 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allLeftDown | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get all neighbor left down values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1890 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allLeftUp | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get all neighbor left up values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1928 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allRight | ( | unsigned int | rank | ) | [inline, protected] |
Get all neighbor right values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1795 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allRightDown | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get all neighbor right down values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1871 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allRightUp | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get all neighbor right up values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1909 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::allUp | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get all neighbor up values for the element to a precise rank.
rank | is the rank at which the neighbor values are wanted |
Definition at line 1833 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2051 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
result | table of all neighbor values along X |
Definition at line 2077 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2101 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
result | table of all neighbor values along X |
Definition at line 2128 of file dmatrix.hpp.
iterator<T,R> skelgis::DMatrix< T, R, false >::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.
Definition at line 2411 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::down | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get the nearest neighbor down value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 1985 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2153 of file dmatrix.hpp.
iterator<T,R> skelgis::DMatrix< T, R, false >::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.
Definition at line 2427 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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 2329 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2175 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2780 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2768 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2547 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2517 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2576 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2604 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2502 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2562 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2590 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2532 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2717 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
result | table of all neighbor values along X |
Definition at line 2730 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2743 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
result | table of all neighbor values along Y |
Definition at line 2756 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, false >::getBorder | ( | ) | [inline] |
Get the recovery of the DMatrix (=R)
Definition at line 3209 of file dmatrix.hpp.
HEADER skelgis::DMatrix< T, R, false >::getBorderHeader | ( | ) | [inline] |
Get the border header of the DMatrix.
Definition at line 3167 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::getBorders | ( | ) | [inline] |
get borders
To get the needed parallel overlap from other processors. MPI exchanges done.
Definition at line 2490 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, false >::getCol | ( | ) | [inline] |
Get the column number of the DMatrix.
Definition at line 3188 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, false >::getCols | ( | ) | [inline] |
Get the number of columns in the domain decomposition.
Definition at line 3174 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, false >::getData | ( | ) | [inline] |
Get the data table of the DMatrix.
Definition at line 3202 of file dmatrix.hpp.
DMatrix_impl<T,R,false>* skelgis::DMatrix< T, R, false >::getDMatrix | ( | ) | [inline] |
Get the DMatrix_impl associated to the DMatrix interface.
Definition at line 3216 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2655 of file dmatrix.hpp.
HEADER skelgis::DMatrix< T, R, false >::getGlobalHeader | ( | ) | [inline] |
Get the indexes of the iterator on the matrix.
This method exists for the three basic types of iterators.
it | is the iterator from which the indexes will be taken |
x | is the iterator position x returned |
y | is the iterator position y returned |
Definition at line 3153 of file dmatrix.hpp.
HEADER skelgis::DMatrix< T, R, false >::getHeader | ( | ) | [inline] |
void skelgis::DMatrix< T, R, false >::getIndexes | ( | iterator< T, R > | it, |
int & | col, | ||
int & | li | ||
) | [inline] |
get the indexes of the iterator on the matrix
it | is the iterator from which the indexes will be taken |
x | is the iterator position x returned |
y | is the iterator position y returned |
Definition at line 3141 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the physical border iterator position |
Definition at line 2819 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the physical border iterator position |
Definition at line 2801 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the physical border iterator position |
Definition at line 2792 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the physical border iterator position |
Definition at line 2810 of file dmatrix.hpp.
iterator<T,R> skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
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.
it | is the iterator position |
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.
it | is the iterator position |
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.
it | is the iterator position |
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.
it | is the iterator position |
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.
it | is the iterator position |
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.
it | is the iterator position |
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.
it | is the iterator position |
This method exists for each type of iterator with right value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with left value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with up value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with down value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with right down value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with left down value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with right up value in SkelGIS.
it | is the iterator position |
This method exists for each type of iterator with left up value in SkelGIS.
it | is the iterator position |
Equivalent to getAllLeft and getAllRight with a single call. This method exists for each type of iterator with left and right values in SkelGIS.
it | is the iterator position |
Equivalent to getAllUp and getAllDown with a single call. This method exists for each type of iterator with left and right values in SkelGIS.
it | is the iterator position |
Equivalent to getLeftUp, getUp, getRightUp, getRight, getRightDown, getDown, getLeftDown and getLeft with a single call.
it | is the iterator position |
Equivalent to getUp, getRight, getDown and getLeft with a single call.
it | is the iterator position |
This work for every size of R and will always give the nearest right inside-domain value.
it | is the physical border iterator position |
This work for every size of R and will always give the nearest left inside-domain value.
it | is the physical border iterator position |
This work for every size of R and will always give the nearest up inside-domain value.
it | is the physical border iterator position |
This work for every size of R and will always give the nearest down inside-domain value.
it | is the physical border iterator position |
This method exists for the three basic types of iterators.
x | is row index y is column index |
Definition at line 3130 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2629 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2680 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2704 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2616 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2668 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2692 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, false >::getRow | ( | ) | [inline] |
Get the row number of the DMatrix.
Definition at line 3195 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, false >::getRows | ( | ) | [inline] |
Get the number of rows in the domain decomposition.
Definition at line 3181 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2642 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2338 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2235 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::init | ( | DMatrix_impl< T, R, false > * | _m | ) | [inline] |
initialization of the distributed matrix interface from pointer
The equivalent to the constructor from a pointer
_m | is a DMatrix_impl object |
Definition at line 2293 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::init | ( | DMatrix< T, R, false > & | _m | ) | [inline] |
initialization of the distributed matrix interface from another DMatrix
The equivalent to the constructor from another DMatrix
_m | is a DMatrix object |
Definition at line 2301 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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
h | is the header to construct the object (see skelgis/util/utility.hpp) |
value | is the default value to put in the matrix |
loc | is a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction). |
Definition at line 2311 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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
binFile | is a binary input file to construct the DMatrix with |
loc | is a boolean value to indicate if the DMatrix_impl has to stay local to one MPI process (used in ApplyReduction). |
Definition at line 2320 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2207 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2193 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2221 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::left | ( | unsigned int | rank | ) | [inline, protected] |
Get the nearest neighbor left value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 1960 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::leftDown | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get the nearest neighbor left down value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2011 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::leftUp | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get the nearest neighbor left up value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2037 of file dmatrix.hpp.
DMatrix<T,R,false>& skelgis::DMatrix< T, R, false >::operator= | ( | DMatrix< T, R, false > & | right | ) | [inline] |
Operator = to assign the current DMatrix interface object to another one.
right | is the other DMatrix object |
Definition at line 2459 of file dmatrix.hpp.
T& skelgis::DMatrix< T, R, false >::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.
it | is the iterator position |
Definition at line 2444 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::print | ( | ) | [inline] |
Print the matrix by block.
This method will print the DMatrix by processors in the directory "outputs".
Definition at line 2466 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::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 2474 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::right | ( | unsigned int | rank | ) | [inline, protected] |
Get the nearest neighbor right value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 1947 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::rightDown | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get the nearest neighbor right down value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 1998 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::rightUp | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get the nearest neighbor right up value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 2024 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setDownPhysicalBorder | ( | T | val | ) | [inline] |
Set all the values on the down of physical border of the matrix.
val | is the value to set |
Definition at line 2403 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setGlobalMiddleValue | ( | T | val | ) | [inline] |
Set value in the middle of the global matrix.
val | is the value to affect |
Definition at line 2368 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setLeftPhysicalBorder | ( | T | val | ) | [inline] |
Set all the values on the left of physical border of the matrix.
val | is the value to set |
Definition at line 2389 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setPhysicalBorder | ( | T | val | ) | [inline] |
Set all the values of the physical border of the matrix.
val | is the value to set |
Definition at line 2375 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setRightPhysicalBorder | ( | T | val | ) | [inline] |
Set all the values on the right of physical border of the matrix.
val | is the value to set |
Definition at line 2382 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setUpPhysicalBorder | ( | T | val | ) | [inline] |
Set all the values on the up of physical border of the matrix.
val | is the value to set |
Definition at line 2396 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::setValue | ( | iterator< T, R > | it, |
T | 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.
it | is the iterator position |
value | is the value to set |
Definition at line 2354 of file dmatrix.hpp.
T skelgis::DMatrix< T, R, false >::up | ( | unsigned int | rank, |
unsigned int | width | ||
) | [inline, protected] |
Get the nearest neighbor up value for the element to a precise rank.
rank | is the rank at which the neighbor value is wanted |
Definition at line 1973 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, false >::write | ( | char * | binFile | ) | [inline] |
Saving in a bin file the distributed matrix interface.
This method writes the DMatrix in a single binary output file.
binFile | is a binary output file to save the DMatrix in |
Definition at line 2482 of file dmatrix.hpp.
DMatrix_impl<T,R,false>* skelgis::DMatrix< T, R, false >::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 1786 of file dmatrix.hpp.