aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOScalar/src
diff options
context:
space:
mode:
authorschnetter <>2004-06-21 10:27:00 +0000
committerschnetter <>2004-06-21 10:27:00 +0000
commita9cd03de58dc6315cf114096164d9942059528af (patch)
tree52d3c1ab43bad06e158d16d4c043a00be538b17e /Carpet/CarpetIOScalar/src
parent187cb1a46a6b8e0e34bc4a93598fa843c816f97c (diff)
Simplify logic.
darcs-hash:20040621102709-07bb3-88c71c62c346e77dd644e4ae4a8eaa4472db04fe.gz
Diffstat (limited to 'Carpet/CarpetIOScalar/src')
-rw-r--r--Carpet/CarpetIOScalar/src/ioscalar.cc43
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());
}