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