diff options
author | schnetter <> | 2004-06-21 10:27:00 +0000 |
---|---|---|
committer | schnetter <> | 2004-06-21 10:27:00 +0000 |
commit | a9cd03de58dc6315cf114096164d9942059528af (patch) | |
tree | 52d3c1ab43bad06e158d16d4c043a00be538b17e /Carpet/CarpetIOScalar/src | |
parent | 187cb1a46a6b8e0e34bc4a93598fa843c816f97c (diff) |
Simplify logic.
darcs-hash:20040621102709-07bb3-88c71c62c346e77dd644e4ae4a8eaa4472db04fe.gz
Diffstat (limited to 'Carpet/CarpetIOScalar/src')
-rw-r--r-- | Carpet/CarpetIOScalar/src/ioscalar.cc | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/Carpet/CarpetIOScalar/src/ioscalar.cc b/Carpet/CarpetIOScalar/src/ioscalar.cc index 0ad1ab3f7..b3bed1bc1 100644 --- a/Carpet/CarpetIOScalar/src/ioscalar.cc +++ b/Carpet/CarpetIOScalar/src/ioscalar.cc @@ -18,7 +18,7 @@ extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOScalar/src/ioscalar.cc,v 1.3 2004/06/14 10:50:06 tradke Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOScalar/src/ioscalar.cc,v 1.4 2004/06/21 12:27:09 schnetter Exp $"; CCTK_FILEVERSION(Carpet_CarpetIOScalar_ioscalar_cc); } @@ -274,30 +274,31 @@ namespace CarpetIOScalar { int const handle = ireduction->handle; - if (CCTK_MyProc(cctkGH)==0) { - file << cctk_iteration << " " << cctk_time << " "; - } - - switch (vartype) { -#define TYPECASE(N,T) \ - case N: { \ - T result; \ - int const ierr \ - = CCTK_Reduce (cctkGH, 0, handle, 1, vartype, &result, 1, n); \ - assert (! ierr); \ - \ - if (CCTK_MyProc(cctkGH)==0) { \ - file << result; \ - } \ - break; \ - } + union { +#define TYPECASE(N,T) T var_##T; #include "Carpet/Carpet/src/typecase" #undef TYPECASE - default: - UnsupportedVarType (n); - } + } result; + + int const ierr + = CCTK_Reduce (cctkGH, 0, handle, 1, vartype, &result, 1, n); + assert (! ierr); if (CCTK_MyProc(cctkGH)==0) { + + file << cctk_iteration << " " << cctk_time << " "; + + switch (vartype) { +#define TYPECASE(N,T) \ + case N: \ + file << result.var_##T; \ + break; +#include "Carpet/Carpet/src/typecase" +#undef TYPECASE + default: + UnsupportedVarType (n); + } + file << endl; assert (file.good()); } |