Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sbalzarini Lab
S
Software
P
Parallel Computing
OpenFPM
openfpm_pdata
Commits
2d15eba1
Commit
2d15eba1
authored
Dec 20, 2017
by
incardon
Browse files
Latest modules
parent
ce8eb6ed
Changes
2
Hide whitespace changes
Inline
Side-by-side
openfpm_data
@
4ae52add
Subproject commit
6c365cd618e47798e5930a2c26334443d9f36f09
Subproject commit
4ae52add45600962acef5f2079b9886926982aed
src/Grid/Iterators/grid_dist_id_iterator_sub.hpp
View file @
2d15eba1
...
...
@@ -286,4 +286,38 @@ class grid_dist_iterator_sub
}
};
//////// MACRO in 3D
#define WHILE_M(grid,stencil) auto & ginfo = grid.getLocalGridsInfo();\
for (size_t i = 0 ; i < grid.getN_loc_grid() ; i++)\
{\
auto it = grid.get_loc_grid_iterator_stencil(i,stencil);\
\
int lo[3] = {(int)ginfo.get(i).Dbox.getLow(0),(int)ginfo.get(i).Dbox.getLow(1),(int)ginfo.get(i).Dbox.getLow(2)};\
int hi[3] = {(int)ginfo.get(i).Dbox.getHigh(0),(int)ginfo.get(i).Dbox.getHigh(1),(int)ginfo.get(i).Dbox.getHigh(2)};\
\
int uhi[3] = {(int)ginfo.get(i).GDbox.getHigh(0),(int)ginfo.get(i).GDbox.getHigh(1),(int)ginfo.get(i).GDbox.getHigh(2)};\
\
int sx = uhi[0]+1;\
int sxsy = (uhi[0]+1)*(uhi[1]+1);
#define ITERATE_3D_M for (int i = lo[2] ; i <= hi[2] ; i+=1)\
{\
for (int j = lo[1] ; j <= hi[1] ; j+=1)\
{\
for (int k = lo[0] ; k <= hi[0] ; k+=4)\
{
#define GET_GRID_M(grid) grid.get_loc_grid(i);
#define END_LOOP_M it.private_sum<Vc::double_v::Size>();\
}\
it.private_adjust( - (hi[1] + 1) + sx + lo[0]);\
}\
it.private_adjust(- (hi[2] + 1)*sx + sxsy + lo[1]*sx);\
}\
}
#endif
/* SRC_GRID_GRID_DIST_ID_ITERATOR_SUB_HPP_ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment