Blockstructured Adaptive Mesh Refinement in object-oriented C++
00001 #ifndef _included_GridFunctionIndex_h 00002 #define _included_GridFunctionIndex_h 00003 00009 #include <generic.h> 00010 00011 #ifndef forall 00012 #define forall(gf, t, l, c) { \ 00013 const int name2(c,_CU) = (gf).len(l); \ 00014 for (int c = 0; c < name2(c,_CU); c++) { \ 00015 if(!(gf).exists(t,l,c)) ; else { 00016 #endif 00017 00018 #ifndef end_forall_sync 00019 #define end_forall_sync } } comm_service::barrier(); } 00020 #endif 00021 00022 #ifndef end_forall 00023 #define end_forall } } } 00024 #endif 00025 00026 00027 #ifndef forallBB 00028 #define forallBB(gf, t, l, c, where, bb) { \ 00029 const int name2(gf,_CU) = (gf).len(l); \ 00030 for (int c = 0; c < name2(gf,_CU); c++) { \ 00031 if(!(gf).exists(t,l,c) || \ 00032 ((bb)=(where)*((gf).databbox(t,l,c))).empty()) ; else { 00033 #endif 00034 00035 #ifndef end_forallBB_sync 00036 #define end_forallBB_sync } } comm_service::barrier(); } 00037 #endif 00038 00039 #ifndef end_forallBB 00040 #define end_forallBB } } } 00041 #endif 00042 00043 #endif
Quickstart Users Guide Programmers Reference Installation Examples Download
AMROC Main Home Contactlast update: 06/01/04