SkelGIS
3.0
|
#include <dmatrix.hpp>
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 | |
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, 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) |
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 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. | |
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, line > * | m |
Pointer to DMatrix_impl object. |
DMatrix class.
template of the distributed matrix of SkelGIS. This is the first 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 |
line | is 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.
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.
_m | is a DMatrix_impl pointer |
Definition at line 497 of file dmatrix.hpp.
skelgis::DMatrix< T, R, line >::DMatrix | ( | DMatrix< T, R, line > & | _m | ) | [inline] |
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.
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 515 of file dmatrix.hpp.
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.
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 524 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor values are wanted |
Definition at line 94 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, line >::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 56 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor values are wanted |
Definition at line 132 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor values are wanted |
Definition at line 170 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, line >::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 37 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor values are wanted |
Definition at line 113 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor values are wanted |
Definition at line 151 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor values are wanted |
Definition at line 75 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 294 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
result | table of all neighbor values along X |
Definition at line 320 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 344 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
result | table of all neighbor values along X |
Definition at line 371 of file dmatrix.hpp.
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.
Definition at line 654 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 228 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 396 of file dmatrix.hpp.
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.
Definition at line 670 of file dmatrix.hpp.
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.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 418 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 1023 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 1011 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 790 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 760 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 819 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 847 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 745 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 805 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 833 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 775 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 960 of file dmatrix.hpp.
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.
it | is the iterator position |
result | table of all neighbor values along X |
Definition at line 973 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 986 of file dmatrix.hpp.
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.
it | is the iterator position |
result | table of all neighbor values along Y |
Definition at line 999 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, line >::getBorder | ( | ) | [inline] |
Get the recovery of the DMatrix (=R)
Definition at line 1477 of file dmatrix.hpp.
HEADER skelgis::DMatrix< T, R, line >::getBorderHeader | ( | ) | [inline] |
Get the border header of the DMatrix.
Definition at line 1435 of file dmatrix.hpp.
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.
int skelgis::DMatrix< T, R, line >::getCol | ( | ) | [inline] |
Get the column number of the DMatrix.
Definition at line 1456 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, line >::getCols | ( | ) | [inline] |
Get the number of columns in the domain decomposition.
Definition at line 1442 of file dmatrix.hpp.
T* skelgis::DMatrix< T, R, line >::getData | ( | ) | [inline] |
Get the data table of the DMatrix.
Definition at line 1470 of file dmatrix.hpp.
DMatrix_impl<T,R,line>* skelgis::DMatrix< T, R, line >::getDMatrix | ( | ) | [inline] |
Get the DMatrix_impl associated to the DMatrix interface.
Definition at line 1484 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 898 of file dmatrix.hpp.
HEADER skelgis::DMatrix< T, R, line >::getGlobalHeader | ( | ) | [inline] |
Get the global header of the DMatrix.
Definition at line 1421 of file dmatrix.hpp.
HEADER skelgis::DMatrix< T, R, line >::getHeader | ( | ) | [inline] |
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.
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 1412 of file dmatrix.hpp.
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.
it | is the physical border iterator position |
Definition at line 1062 of file dmatrix.hpp.
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.
it | is the physical border iterator position |
Definition at line 1044 of file dmatrix.hpp.
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.
it | is the physical border iterator position |
Definition at line 1035 of file dmatrix.hpp.
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.
it | is the physical border iterator position |
Definition at line 1053 of file dmatrix.hpp.
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.
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 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 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 |
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 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 |
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 1400 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 872 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 923 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 947 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 859 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 911 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 935 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, line >::getRow | ( | ) | [inline] |
Get the row number of the DMatrix.
Definition at line 1463 of file dmatrix.hpp.
int skelgis::DMatrix< T, R, line >::getRows | ( | ) | [inline] |
Get the number of rows in the domain decomposition.
Definition at line 1449 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 885 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 581 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 478 of file dmatrix.hpp.
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
_m | is a DMatrix_impl object |
Definition at line 536 of file dmatrix.hpp.
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
_m | is a DMatrix object |
Definition at line 544 of file dmatrix.hpp.
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
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 554 of file dmatrix.hpp.
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
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 563 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 450 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 436 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 464 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 202 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 254 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 280 of file dmatrix.hpp.
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.
right | is the other DMatrix object |
Definition at line 702 of file dmatrix.hpp.
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.
it | is the iterator position |
Definition at line 687 of file dmatrix.hpp.
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.
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.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 189 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 241 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 267 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::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 646 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::setGlobalMiddleValue | ( | T | val | ) | [inline] |
Set value in the middle of the global matrix.
val | is the value to affect |
Definition at line 611 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::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 632 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::setPhysicalBorder | ( | T | val | ) | [inline] |
Set all the values of the physical border of the matrix.
val | is the value to set |
Definition at line 618 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::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 625 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::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 639 of file dmatrix.hpp.
void skelgis::DMatrix< T, R, line >::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 597 of file dmatrix.hpp.
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.
rank | is the rank at which the neighbor value is wanted |
Definition at line 215 of file dmatrix.hpp.
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.
binFile | is a binary output file to save the DMatrix in |
Definition at line 725 of file dmatrix.hpp.
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.