diff options
author | swhite <schnetter@cct.lsu.edu> | 2004-12-02 15:33:00 +0000 |
---|---|---|
committer | swhite <schnetter@cct.lsu.edu> | 2004-12-02 15:33:00 +0000 |
commit | 8f5889ea6c131d9cdd8d48d8491c6fe7b62c5937 (patch) | |
tree | 01c4edbe818a541bdb4b436c66ac6254006464b6 /Carpet | |
parent | 75d09ffffada6ee99a6d1ecc2bb981b10e1266c5 (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.cc | 81 |
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, |