aboutsummaryrefslogtreecommitdiff
path: root/Carpet
diff options
context:
space:
mode:
authorswhite <schnetter@cct.lsu.edu>2004-12-02 15:33:00 +0000
committerswhite <schnetter@cct.lsu.edu>2004-12-02 15:33:00 +0000
commit8f5889ea6c131d9cdd8d48d8491c6fe7b62c5937 (patch)
tree01c4edbe818a541bdb4b436c66ac6254006464b6 /Carpet
parent75d09ffffada6ee99a6d1ecc2bb981b10e1266c5 (diff)
Comm.cc_restructure
Made logic more transparent, using no surprise returns and no goto. darcs-hash:20041202153328-32473-cdea0f10bfc6d392cba04c712b7cb5360be1b573.gz
Diffstat (limited to 'Carpet')
-rw-r--r--Carpet/Carpet/src/Comm.cc81
1 files changed, 39 insertions, 42 deletions
diff --git a/Carpet/Carpet/src/Comm.cc b/Carpet/Carpet/src/Comm.cc
index e28dc404d..9954e76cd 100644
--- a/Carpet/Carpet/src/Comm.cc
+++ b/Carpet/Carpet/src/Comm.cc
@@ -40,58 +40,55 @@ namespace Carpet {
const int grouptype = CCTK_GroupTypeI(group);
retval = CheckSyncGroupConsistency ( cgh, groupname);
- if( retval != 0 )
- goto quits;
- if (CCTK_NumVarsInGroupI(group) == 0)
- goto quits;
+ if( retval == 0
+ && CCTK_NumVarsInGroupI(group) != 0 )
+ {
+ const int n0 = CCTK_FirstVarIndexI(group);
+ assert (n0>=0);
+ const int num_tl = CCTK_NumTimeLevelsFromVarI(n0);
+ assert (num_tl>0);
- const int n0 = CCTK_FirstVarIndexI(group);
- assert (n0>=0);
- const int num_tl = CCTK_NumTimeLevelsFromVarI(n0);
- assert (num_tl>0);
- const int tl = 0;
-
- // Prolongate the boundaries
- if (do_prolongate) {
- switch (grouptype) {
-
- case CCTK_GF:
- assert (reflevel>=0 && reflevel<reflevels);
- if (reflevel > 0) {
- ProlongateGroupBoundaries ( cgh, cctk_initial_time, group );
- }
- break;
+ // Prolongate the boundaries
+ if (do_prolongate) {
+ switch (grouptype) {
+
+ case CCTK_GF:
+ assert (reflevel>=0 && reflevel<reflevels);
+ if (reflevel > 0) {
+ ProlongateGroupBoundaries ( cgh, cctk_initial_time, group );
+ }
+ break;
- case CCTK_SCALAR:
- case CCTK_ARRAY:
- // do nothing
- break;
+ case CCTK_SCALAR:
+ case CCTK_ARRAY:
+ // do nothing
+ break;
- default:
- assert (0);
+ default:
+ assert (0);
+ }
}
- }
- // Sync
- for (comm_state<dim> state; !state.done(); state.step()) {
- switch (CCTK_GroupTypeI(group)) {
-
- case CCTK_GF:
- SyncGFGroup ( cgh, state, group );
- break;
+ // Sync
+ for (comm_state<dim> state; !state.done(); state.step()) {
+ switch (CCTK_GroupTypeI(group)) {
+
+ case CCTK_GF:
+ SyncGFGroup ( cgh, state, group );
+ break;
- case CCTK_SCALAR:
- case CCTK_ARRAY:
- SyncGFArrayGroup ( cgh, state, group );
- break;
+ case CCTK_SCALAR:
+ case CCTK_ARRAY:
+ SyncGFArrayGroup ( cgh, state, group );
+ break;
- default:
- assert (0);
+ default:
+ assert (0);
+ }
}
}
- quits:
- return retval;
+ return retval;
}
void ProlongateGroupBoundaries ( const cGH* cgh, CCTK_REAL initial_time,