aboutsummaryrefslogtreecommitdiff
path: root/src/ReductionAvg.c
diff options
context:
space:
mode:
authoryye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a>2004-07-14 19:03:29 +0000
committeryye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a>2004-07-14 19:03:29 +0000
commit3c6cb4f892e4b0189a8ca878ec916593bd853575 (patch)
treef5833900226cb3a7aab567da5bdfeb79a3c07a55 /src/ReductionAvg.c
parentea59f209df814084ebaee63a8a34b868fd1cedb5 (diff)
This commit was generated by cvs2svn to compensate for changes in r8, which
included commits to RCS files with non-trunk default branches. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalReduce/trunk@9 7daa882c-dc44-4453-834e-278d26b18e6a
Diffstat (limited to 'src/ReductionAvg.c')
-rw-r--r--src/ReductionAvg.c117
1 files changed, 58 insertions, 59 deletions
diff --git a/src/ReductionAvg.c b/src/ReductionAvg.c
index 2f0c602..e08fdc2 100644
--- a/src/ReductionAvg.c
+++ b/src/ReductionAvg.c
@@ -19,14 +19,18 @@ static const char *rcsid = "$Id$";
CCTK_FILEVERSION(CCTDevelopment_LocalReduce_ReductionAvg_c)
/* local function prototypes */
-static int ReductionAvg (int N_dims, int operator_handle,
- int param_table_handle, int N_input_arrays,
- const CCTK_INT input_array_dims[],
- const CCTK_INT input_array_type_codes[],
- const void *const input_arrays[],
- int M_output_numbers,
- const CCTK_INT output_number_type_codes[],
- void *const output_numbers[]);
+static int ReductionAvg (int num_dims,
+ const int from[/* dim */],
+ const int to[/* dim */],
+ int iterator[/* dim */],
+ const int points_per_dim[/* dim */],
+ int num_points,
+ int have_local_points,
+ int num_inarrays,
+ const int intypes[/* num_inarrays */],
+ const void *const inarrays[/* num_inarrays */],
+ int num_outvals,
+ CCTK_REAL outvals[/*num_inarrays*num_outvals*/]);
/*@@
@@ -34,65 +38,57 @@ static int ReductionAvg (int N_dims, int operator_handle,
@author Thomas Radke
@date 19 Aug 1999
@desc
- Registered PUGH reduction routine for computing the averages
- of a set of arrays.
- The arrays are described by their dimensions and variable type.
- For the number of output values only 1 is accepted.
- Type casting of the result is provided by specifying the
- requested output datatype. The intermediate reduction value
- is always computed as a CCTK_REAL value internally.
@enddesc
@history
@endhistory
- @var GH
- @vdesc Pointer to CCTK grid hierarchy
- @vtype const cGH *
+ @var N_dims
+ @vdesc number of dimensions in the *reduction*
+ @vtype int
@vio in
@endvar
- @var proc
- @vdesc processor that should receive the result of operation
- (negative value means all processors receive the result)
+ @var operator_handle
+ @vdesc operator handle specificies the type of reduction we will perform
@vtype int
@vio in
@endvar
- @var nDims
- @vdesc number of dimensions of input arrays
+ @var param_table_handle
+ @vdesc handle to "parameter table", a key-value table
@vtype int
@vio in
@endvar
- @var dims
- @vdesc dimensions of input arrays
- @vtype const int *
+ @var N_input_arrays
+ @vdesc number of input arrays
+ @vtype int
@vio in
@endvar
- @var nArrays
- @vdesc number of input arrays
- @vtype int
+ @var input_array_dims
+ @vdesc array of input array dimensions (common to all input arrays)
+ @vtype const CCTK_INT
@vio in
@endvar
- @var inarrays
- @vdesc field of input arrays
- @vtype const void *const
+ @var input_array_type_codes
+ @vdesc array of CCTK_VARIABLE_* codes giving data types of input arrays
+ @vtype const CCTK_INT
@vio in
@endvar
- @var inType
- @vdesc (common) variable type of input arrays
- @vtype int
+ @var input_arrays
+ @vdesc array of pointers to input arrays
+ @vtype const void *const
@vio in
@endvar
- @var num_outvals
- @vdesc number of values per output array
+ @var M_output_numbers
+ @vdesc
@vtype int
@vio in
@endvar
- @var outvals
- @vdesc pointer to buffer holding the output values
- @vtype void *
+ @var output_number_type_codes
+ @vdesc array of CCTK_VARIABLE_* codes giving data types of output numbers
+ @vtype const CCTK_INT
@vio in
@endvar
- @var outtype
- @vdesc (common) variable type of output arrays
- @vtype int
+ @var output_numbers
+ @vdesc array[M_output_numbers] of pointers to output numbers[M_reduce_numbers]
+ @vtype void *const
@vio in
@endvar
@@*/
@@ -106,10 +102,11 @@ int ReductionAvgArrays (int N_dims, int operator_handle,
void *const output_numbers[])
{
return (ReductionArrays (N_dims, operator_handle,
- param_table_handle, N_input_arrays,
- input_array_dims, input_array_type_codes,
- input_arrays, M_output_numbers,
- output_number_type_codes, output_numbers));
+ param_table_handle, N_input_arrays,
+ input_array_dims, input_array_type_codes,
+ input_arrays, M_output_numbers,
+ output_number_type_codes, output_numbers,
+ ReductionAvg));
}
/*****************************************************************************/
@@ -124,22 +121,24 @@ int ReductionAvgArrays (int N_dims, int operator_handle,
(num_outvals == 1) or on the results of the local reductions.
@enddesc
@@*/
-static int ReductionAvg (int N_dims, int operator_handle,
- int param_table_handle, int N_input_arrays,
- const CCTK_INT input_array_dims[],
- const CCTK_INT input_array_type_codes[],
- const void *const input_arrays[],
- int M_output_numbers,
- const CCTK_INT output_number_type_codes[],
- void *const output_numbers[])
+static int ReductionAvg (int num_dims,
+ const int from[/* dim */],
+ const int to[/* dim */],
+ int iterator[/* dim */],
+ const int points_per_dim[/* dim */],
+ int num_points,
+ int have_local_points,
+ int num_inarrays,
+ const int intypes[/* num_inarrays */],
+ const void *const inarrays[/* num_inarrays */],
+ int num_outvals,
+ CCTK_REAL outvals[/*num_inarrays*num_outvals*/])
{
int i, total_outvals;
const char *vtypename;
/* avoid compiler warnings about unused parameters */
- (void) (GH + 0);
- (void) (proc + 0);
(void) (num_points + 0);
/* macros to complete the ITERATE_ARRAY macro */
@@ -148,7 +147,7 @@ static int ReductionAvg (int N_dims, int operator_handle,
for (i = total_outvals = 0; i < num_inarrays; i++)
{
- switch (input_array_type_codes[i])
+ switch (intypes[i])
{
case CCTK_VARIABLE_CHAR:
ITERATE_ARRAY (CCTK_BYTE, num_dims, inarrays[i],
@@ -225,7 +224,7 @@ static int ReductionAvg (int N_dims, int operator_handle,
#endif
default:
- vtypename = CCTK_VarTypeName (input_array_type_codes[i]);
+ vtypename = CCTK_VarTypeName (intypes[i]);
if (vtypename && strncmp (vtypename, "CCTK_VARIABLE_COMPLEX", 21) == 0)
{
CCTK_WARN (1, "PUGH_ReductionAvg: Don't know how to compute "