SkelGIS
3.0
|
DMatrix_impl class. More...
#include <dmatrix_impl.hpp>
Public Member Functions | |
DMatrix_impl () | |
default constructor of the distributed matrix interface | |
DMatrix_impl (HEADER h, const T value, bool loc=false) | |
constructor of the distributed matrix | |
DMatrix_impl (const char *binFile, bool loc=false) | |
constructor of the distributed matrix | |
~DMatrix_impl () | |
destructor of the distributed matrix | |
void | setGlobalMiddleValue (T val) |
Set value in the global middle. | |
void | setPhysicalBorder (T val) |
to set all the values of the physical border of the matrix | |
void | setRightPhysicalBorder (T val) |
to set all the values on the right of physical border of the matrix | |
void | setLeftPhysicalBorder (T val) |
to set all the values on the left of physical border of the matrix | |
void | setUpPhysicalBorder (T val) |
to set all the values on the up of physical border of the matrix | |
void | setDownPhysicalBorder (T val) |
to 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 () |
iterator< T, R > | getIterator (int col, int li) |
get the iterator on the matrix at position (x,y) | |
iterator_cont< T, R > | getIterator_cont (int col, int li) |
get the iterator contiguous on the matrix at position (x,y) | |
iterator_rev< T, R > | getIterator_rev (int col, int li) |
get the iterator reverse on the matrix at position (x,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) |
void | print () |
Print the matrix by bloc. | |
void | printAll () |
Print all the matrix by bloc. | |
void | write (char *binFile) |
Write the zone file concerned for the current MPI process. | |
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. | |
Public Attributes | |
HEADER | border_head |
Protected Member Functions | |
void | create () |
Creation of the ditributed matrix. | |
void | initValues (T value) |
Values initialization of the elements of the DMatrix_impl. | |
void | phBLimits () |
Calculation of the physical border limits. | |
void | read (const char *binFile) |
Read the zone of the binary file concerned for the current MPI process. | |
unsigned int | getRank (int c, int cs, int r) |
Get rank from a column number and a row number. | |
void | getNeighborRanks () |
Get ranks. | |
T * | getRightBorderToSend () |
Get the right border to send to neighbor processors. | |
void | setRightBorder (T *values) |
Set the right border ghost cells with neighbor values from processors. | |
T * | getLeftBorderToSend () |
Get the left border to send to neighbor processors. | |
void | setLeftBorder (T *values) |
Set the left border ghost cells with neighbor values from processors. | |
T * | getUpBorderToSend () |
Get the up border to send to neighbor processors. | |
void | setUpBorder (T *values) |
Set the up border ghost cells with neighbor values from processors. | |
T * | getDownBorderToSend () |
Get the down border to send to neighbor processors. | |
void | setDownBorder (T *values) |
Set the down border ghost cells with neighbor values from processors. | |
T * | getDownRightBorderToSend () |
Get the down right border to send to neighbor processors. | |
void | setDownRightBorder (T *values) |
Set the down right border ghost cells with neighbor values from processors. | |
T * | getDownLeftBorderToSend () |
Get the down left border to send to neighbor processors. | |
void | setDownLeftBorder (T *values) |
Set the down left border ghost cells with neighbor values from processors. | |
T * | getUpLeftBorderToSend () |
Get the up left border to send to neighbor processors. | |
void | setUpLeftBorder (T *values) |
Set the up left border ghost cells with neighbor values from processors. | |
T * | getUpRightBorderToSend () |
Get the up right border to send to neighbor processors. | |
void | setUpRightBorder (T *values) |
Set the up right border ghost cells with neighbor values from processors. | |
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. | |
void | indexesIt (unsigned int rank, int &col, int &li) |
Get the indexes associated to a precise rank. | |
Protected Attributes | |
int | mpi_ranks [8] |
unsigned int | beginPhBLeft |
unsigned int | beginPhBRight |
unsigned int | beginPhBUp |
unsigned int | beginPhBDown |
unsigned int | endPhBLeft |
unsigned int | endPhBRight |
unsigned int | endPhBUp |
unsigned int | endPhBDown |
DMatrix_impl class.
template of the distributed matrix implementation of SkelGIS. This is the first specialization of the DMatrix_impl.
T | is the type of data to store in the DMatrix_impl |
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 1802 of file dmatrix_impl.hpp.
skelgis::DMatrix_impl< T, R, false >::DMatrix_impl | ( | HEADER | h, |
const T | value, | ||
bool | loc = false |
||
) | [inline] |
constructor of the distributed matrix
This constructor will simply allocate the good space.
h | is the header to use to build your matrix |
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 2833 of file dmatrix_impl.hpp.
skelgis::DMatrix_impl< T, R, false >::DMatrix_impl | ( | const char * | binFile, |
bool | loc = false |
||
) | [inline] |
constructor of the distributed matrix
The constructor evaluate how to divide the matrix in submatrice and do the work.
binFile | is the path of the binary file you want to work on |
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 2851 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2414 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2376 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2452 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2490 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2357 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2433 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2471 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2395 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2613 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< 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 2639 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2663 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< 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 2690 of file dmatrix_impl.hpp.
iterator<T,R> skelgis::DMatrix_impl< 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 2982 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::create | ( | ) | [inline, protected] |
Creation of the ditributed matrix.
Data distribution and construction of the parallel data structure.
Definition at line 1819 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2547 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2715 of file dmatrix_impl.hpp.
iterator<T,R> skelgis::DMatrix_impl< 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 2998 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 2737 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3525 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3513 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3292 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3262 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3321 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3349 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3247 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3307 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3335 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3277 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3462 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< 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 3475 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< 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 3488 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< 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 3501 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::getBorders | ( | ) | [inline] |
get borders
Get the borders from other processors MPI exchanges
Definition at line 3160 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3400 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getDownBorderToSend | ( | ) | [inline, protected] |
Get the down border to send to neighbor processors.
Definition at line 2176 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getDownLeftBorderToSend | ( | ) | [inline, protected] |
Get the down left border to send to neighbor processors.
Definition at line 2248 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getDownRightBorderToSend | ( | ) | [inline, protected] |
Get the down right border to send to neighbor processors.
Definition at line 2212 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< 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 3062 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3564 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3546 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3537 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3555 of file dmatrix_impl.hpp.
iterator<T,R> skelgis::DMatrix_impl< T, R, false >::getIterator | ( | int | col, |
int | li | ||
) | [inline] |
get the iterator on the matrix at position (x,y)
x | is row index y is column index |
Definition at line 3014 of file dmatrix_impl.hpp.
iterator_cont<T,R> skelgis::DMatrix_impl< T, R, false >::getIterator_cont | ( | int | col, |
int | li | ||
) | [inline] |
get the iterator contiguous on the matrix at position (x,y)
x | is row index y is column index |
Definition at line 3030 of file dmatrix_impl.hpp.
iterator_rev<T,R> skelgis::DMatrix_impl< T, R, false >::getIterator_rev | ( | int | col, |
int | li | ||
) | [inline] |
get the iterator reverse on the matrix at position (x,y)
x | is row index y is column index |
Definition at line 3046 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3374 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getLeftBorderToSend | ( | ) | [inline, protected] |
Get the left border to send to neighbor processors.
Definition at line 2104 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3425 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3449 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::getNeighborRanks | ( | ) | [inline, protected] |
Get ranks.
Get the ranks of the 8 neighbors for MPI exchanges
Definition at line 2032 of file dmatrix_impl.hpp.
unsigned int skelgis::DMatrix_impl< T, R, false >::getRank | ( | int | c, |
int | cs, | ||
int | r | ||
) | [inline, protected] |
Get rank from a column number and a row number.
column | is the column number |
columns | is the total number of columns |
row | is the row number |
Definition at line 2017 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3361 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getRightBorderToSend | ( | ) | [inline, protected] |
Get the right border to send to neighbor processors.
Definition at line 2068 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3413 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3437 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 3387 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getUpBorderToSend | ( | ) | [inline, protected] |
Get the up border to send to neighbor processors.
Definition at line 2140 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getUpLeftBorderToSend | ( | ) | [inline, protected] |
Get the up left border to send to neighbor processors.
Definition at line 2284 of file dmatrix_impl.hpp.
T* skelgis::DMatrix_impl< T, R, false >::getUpRightBorderToSend | ( | ) | [inline, protected] |
Get the up right border to send to neighbor processors.
Definition at line 2320 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::indexesIt | ( | unsigned int | rank, |
int & | col, | ||
int & | li | ||
) | [inline, protected] |
Get the indexes associated to a precise rank.
rank | is the rank at which the indexes values are wanted |
col | is the column return value |
li | is the line return value |
Definition at line 2811 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2797 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::initValues | ( | T | value | ) | [inline, protected] |
Values initialization of the elements of the DMatrix_impl.
value | is the value to set to the elements |
Definition at line 1899 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2769 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2755 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2783 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2522 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2573 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2599 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::read | ( | const char * | binFile | ) | [inline, protected] |
Read the zone of the binary file concerned for the current MPI process.
binFile | is binary file to read |
Definition at line 1963 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2509 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2560 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2586 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setDownBorder | ( | T * | values | ) | [inline, protected] |
Set the down border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2197 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setDownLeftBorder | ( | T * | values | ) | [inline, protected] |
Set the down left border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2269 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setDownPhysicalBorder | ( | T | val | ) | [inline] |
to set all the values on the down of physical border of the matrix
val | is the value to set |
Definition at line 2968 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setDownRightBorder | ( | T * | values | ) | [inline, protected] |
Set the down right border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2233 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setGlobalMiddleValue | ( | T | val | ) | [inline] |
Set value in the global middle.
val | is the value to affect |
Definition at line 2877 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setLeftBorder | ( | T * | values | ) | [inline, protected] |
Set the left border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2125 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setLeftPhysicalBorder | ( | T | val | ) | [inline] |
to set all the values on the left of physical border of the matrix
val | is the value to set |
Definition at line 2942 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setPhysicalBorder | ( | T | val | ) | [inline] |
to set all the values of the physical border of the matrix
val | is the value to set |
Definition at line 2904 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setRightBorder | ( | T * | values | ) | [inline, protected] |
Set the right border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2089 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setRightPhysicalBorder | ( | T | val | ) | [inline] |
to set all the values on the right of physical border of the matrix
val | is the value to set |
Definition at line 2929 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setUpBorder | ( | T * | values | ) | [inline, protected] |
Set the up border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2161 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setUpLeftBorder | ( | T * | values | ) | [inline, protected] |
Set the up left border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2305 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setUpPhysicalBorder | ( | T | val | ) | [inline] |
to set all the values on the up of physical border of the matrix
val | is the value to set |
Definition at line 2955 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::setUpRightBorder | ( | T * | values | ) | [inline, protected] |
Set the up right border ghost cells with neighbor values from processors.
values | is the table values to fill ghost cells with |
Definition at line 2341 of file dmatrix_impl.hpp.
T skelgis::DMatrix_impl< 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 2535 of file dmatrix_impl.hpp.
void skelgis::DMatrix_impl< T, R, false >::write | ( | char * | binFile | ) | [inline] |
Write the zone file concerned for the current MPI process.
write the MPI prcess zone, and spread the data in the subMatrices OpenMP only one submatrice if OpenMP is disabled
binFile | is binary file to write in |
Definition at line 3107 of file dmatrix_impl.hpp.
unsigned int skelgis::DMatrix_impl< T, R, false >::beginPhBDown [protected] |
begining indexes for the physical borders iterators
Definition at line 1811 of file dmatrix_impl.hpp.
HEADER skelgis::DMatrix_impl< T, R, false >::border_head |
Header defining the current local matrix with overlap R
Definition at line 1807 of file dmatrix_impl.hpp.
unsigned int skelgis::DMatrix_impl< T, R, false >::endPhBDown [protected] |
ending indexes for the physical borders iterators
Definition at line 1812 of file dmatrix_impl.hpp.
int skelgis::DMatrix_impl< T, R, false >::mpi_ranks[8] [protected] |
table of size 8 for the neighbor processes to make MPI exchanges
Definition at line 1810 of file dmatrix_impl.hpp.