aboutsummaryrefslogtreecommitdiff
path: root/src/ReductionMin.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/ReductionMin.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/ReductionMin.c')
-rw-r--r--src/ReductionMin.c153
1 files changed, 67 insertions, 86 deletions
diff --git a/src/ReductionMin.c b/src/ReductionMin.c
index 8d73384..20c2712 100644
--- a/src/ReductionMin.c
+++ b/src/ReductionMin.c
@@ -20,20 +20,18 @@ static const char *rcsid = "$Id$";
CCTK_FILEVERSION(CCTDevelopment_LocalReduce_ReductionMin_c)
/* local function prototypes */
-static int ReductionMinVal (const cGH *GH,
- int proc,
- 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*/]);
+static int ReductionMinVal (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*/]);
/*@@
@@ -41,83 +39,75 @@ static int ReductionMinVal (const cGH *GH,
@author Thomas Radke
@date 19 Aug 1999
@desc
- Registered PUGH reduction routine for computing the minima
- for 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 num_dims
- @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 num_inarrays
- @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
@@*/
-int ReductionMinValArrays (const cGH *GH,
- int proc,
- int num_dims,
- const int dims[/* num_dims */],
- int num_inarrays,
- const void *const inarrays[/* num_inarrays */],
- int intype,
- int num_outvals,
- void *outvals /* [num_outvals] */,
- int outtype)
+int ReductionMinValArrays (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[])
{
- return (ReductionArrays (GH, proc, num_dims, dims,
- intype, num_inarrays, inarrays,
- outtype, num_outvals, outvals,
- ReductionMinVal));
+ 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,
+ ReductionMinVal));
}
@@ -135,32 +125,23 @@ int ReductionMinValArrays (const cGH *GH,
or on the results of the local reductions.
@enddesc
@@*/
-static int ReductionMinVal (const cGH *GH,
- int proc,
- 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*/])
+static int ReductionMinVal (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;
-#ifdef CCTK_MPI
- const pGH *pughGH;
- CCTK_REAL *local_outvals;
-#endif
-
/* prevent compiler warnings about unused parameters */
- (void) (GH + 0);
- (void) (proc + 0);
(void) (num_points + 0);
/* macros to complete the ITERATE_ARRAY macro */
@@ -249,12 +230,12 @@ static int ReductionMinVal (const cGH *GH,
vtypename = CCTK_VarTypeName (intypes[i]);
if (vtypename && strncmp (vtypename, "CCTK_VARIABLE_COMPLEX", 21) == 0)
{
- CCTK_WARN (1, "PUGH_ReductionMinVal: Don't know how to compute "
+ CCTK_WARN (1, "LocalReductionMinVal: Don't know how to compute "
"the minimum of complex variables !!!");
}
else
{
- CCTK_WARN (1, "PUGH_ReductionMinVal: Unknown variable type");
+ CCTK_WARN (1, "LocalReductionMinVal: Unknown variable type");
}
return (-1);
}