From 97aa1e46da633e1c8ce7dfca9b8668fa072b5d61 Mon Sep 17 00:00:00 2001 From: schnetter <> Date: Wed, 23 Jul 2003 07:47:00 +0000 Subject: Change API of grid variable reductions to match PUGH. darcs-hash:20030723074706-07bb3-188ace74c5d748c8c19437ef72bbfa525450e1dd.gz --- Carpet/CarpetReduce/src/reduce.cc | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) (limited to 'Carpet/CarpetReduce/src') diff --git a/Carpet/CarpetReduce/src/reduce.cc b/Carpet/CarpetReduce/src/reduce.cc index ade35bdbd..62119e7ad 100644 --- a/Carpet/CarpetReduce/src/reduce.cc +++ b/Carpet/CarpetReduce/src/reduce.cc @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetReduce/src/reduce.cc,v 1.25 2003/06/18 18:28:07 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetReduce/src/reduce.cc,v 1.26 2003/07/23 09:47:06 schnetter Exp $ #include #include @@ -22,7 +22,7 @@ #include "reduce.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetReduce/src/reduce.cc,v 1.25 2003/06/18 18:28:07 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetReduce/src/reduce.cc,v 1.26 2003/07/23 09:47:06 schnetter Exp $"; CCTK_FILEVERSION(Carpet_CarpetReduce_reduce_cc); } @@ -669,16 +669,16 @@ namespace CarpetReduce { assert (proc == -1 || (proc>=0 && proc=0); + assert (num_outvals==1); assert (outvals || (proc!=-1 && proc!=CCTK_MyProc(cgh))); assert (num_invars>=0); - assert (num_invars == num_outvals); assert (invars); for (int n=0; n=0 && invars[n]0); const int vi = invars[0]; @@ -695,11 +695,12 @@ namespace CarpetReduce { - int const reduce_arrays = CCTK_GroupTypeFromVarI(vi) != CCTK_GF; + bool const reduce_arrays = CCTK_GroupTypeFromVarI(vi) != CCTK_GF; + cout << "reduce_arrays=" << reduce_arrays << endl; for (int n=0; n myoutvals (vartypesize * num_outvals); - vector mycounts (vartypesize * num_outvals); + vector myoutvals (vartypesize * num_invars * num_outvals); + vector mycounts (vartypesize * num_invars * num_outvals); - Initialise (cgh, proc, num_outvals, &myoutvals[0], outtype, &mycounts[0], - red); + Initialise (cgh, proc, num_invars * num_outvals, &myoutvals[0], outtype, + &mycounts[0], red); - int const saved_component = component; - if (component!=-1) { - set_component ((cGH*)cgh, -1); - } BEGIN_LOCAL_COMPONENT_LOOP(cgh, reduce_arrays ? CCTK_ARRAY : CCTK_GF) { + cout << "loop: component=" << component << endl; assert (grpdim<=dim); int lsh[dim], bbox[2*dim], nghostzones[dim]; @@ -763,15 +761,12 @@ namespace CarpetReduce { Reduce (cgh, proc, &mylsh[0], &mybbox[0][0], &mynghostzones[0], num_invars, &inarrays[0], intype, - num_outvals, &myoutvals[0], outtype, + num_invars * num_outvals, &myoutvals[0], outtype, &mycounts[0], red); } END_LOCAL_COMPONENT_LOOP; - if (saved_component!=-1) { - set_component ((cGH*)cgh, saved_component); - } - Finalise (cgh, proc, num_outvals, outvals, outtype, + Finalise (cgh, proc, num_invars * num_outvals, outvals, outtype, &myoutvals[0], &mycounts[0], red); -- cgit v1.2.3