1 #ifndef GRID_DIST_KEY_DX_HPP
2 #define GRID_DIST_KEY_DX_HPP
10 template<
unsigned int dim>
107 for (
size_t i = 0 ; i < dim ; i++)
132 std::stringstream str;
134 str <<
"sub_domain=" <<
g_c <<
" ";
136 for (
size_t i = 0 ; i < dim ; i++)
137 str <<
"x[" << i <<
"]=" <<
key.get(i) <<
" ";
240 std::stringstream str;
242 str <<
"sub_domain=" <<
g_c <<
" ";
243 str <<
"lin_id=" <<
key <<
" ";
256 template<
typename device_gr
id>
338 std::stringstream str;
340 str <<
"sub_domain=" <<
dg <<
" ";
341 str <<
"lin_id=" <<
key <<
" ";
std::string to_string()
convert the key to string
grid_dist_lin_dx(int g_c, size_t key)
Constructor set the sub-domain grid and the position in local coordinates.
grid_key_dx< dim > & getKeyRef()
Get the reference key.
size_t & getKeyRef()
Get the reference key.
size_t & getKeyRef()
Get the reference key.
grid_key_dx is the key to access any element in the grid
Position of the element of dimension d in the hyper-cube of dimension dim.
Distributed linearized key.
grid_dist_key_dx(int g_c, const grid_key_dx< dim > &key)
Constructor set the sub-domain grid and the position in local coordinates.
grid_dist_key_dx< dim > move(size_t i, size_t s) const
Create a new key moving the old one.
size_t getKey() const
Get the key.
grid_key_dx< dim > key
Local grid iterator.
grid_dist_key_dx()
Constructor.
grid_dist_g_dx()
Constructor.
device_grid * dg
grid list counter
Grid key for a distributed grid.
size_t g_c
grid list counter
size_t g_c
grid list counter
mem_id get(size_t i) const
Get the i index.
size_t getSub() const
Get the local grid.
device_grid * getSub()
return the sub-domain grid
std::string to_string()
convert the key to string
std::string to_string()
convert the key to string
void setSub(size_t sub)
Set the local grid.
grid_dist_lin_dx()
Constructor.
size_t key
Local grid iterator.
This class is a trick to indicate the compiler a specific specialization pattern. ...
size_t getKey() const
Get the key.
void setSub(size_t sub)
Set the local grid.
grid_dist_g_dx(device_grid *dg, size_t key)
Constructor.
size_t key
Local grid iterator.
grid_dist_key_dx< dim > move(const comb< dim > &c) const
Create a new key moving the old one.
void set_d(size_t i, mem_id id)
Set the i index.
size_t getSub() const
Get the local grid.
grid_key_dx< dim > getKey() const
Get the key.
Distributed linearized key.