summaryrefslogtreecommitdiff
path: root/src/include/cctk_Reduction.h
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2004-08-30 16:56:06 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2004-08-30 16:56:06 +0000
commit9192f677d1e7ac6581c289e5e0d149f16ab89d44 (patch)
treef57e7a0f7ff799116a2b7421a1007b789ebb9eb1 /src/include/cctk_Reduction.h
parentd99b515d127ca9b4d161a6aeb93940fb153dd73e (diff)
patch from Yaakoub to add new GA reduction API.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3858 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/include/cctk_Reduction.h')
-rw-r--r--src/include/cctk_Reduction.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/include/cctk_Reduction.h b/src/include/cctk_Reduction.h
index 1a20ec8b..35d89a7c 100644
--- a/src/include/cctk_Reduction.h
+++ b/src/include/cctk_Reduction.h
@@ -45,6 +45,16 @@
const CCTK_INT output_number_type_codes[], \
void *const output_numbers[]
+#define REDUCTION_GRID_ARRAY_OPERATOR_REGISTER_ARGLIST \
+ const cGH *GH, \
+ int local_reduce_handle, \
+ int param_table_handle, \
+ int N_input_arrays, \
+ const CCTK_INT input_array_variable_indices[], \
+ int M_output_values, \
+ const CCTK_INT output_value_type_codes[], \
+ void* const output_values[]
+
#ifdef __cplusplus
extern "C"
{
@@ -69,6 +79,16 @@ typedef int (*cLocalArrayReduceOperator) (int N_dims, int operator_handle,
const CCTK_INT output_number_type_codes[],
void *const output_numbers[]);
+/* prototype for GA reduction operator routine */
+typedef int (*cGridArrayReduceOperator) (const cGH *GH,
+ int local_reduce_handle,
+ int param_table_handle,
+ int N_input_arrays,
+ const CCTK_INT input_array_variable_indices[],
+ int M_output_values,
+ const CCTK_INT output_value_type_codes[],
+ void* const output_values[]);
+
int CCTK_Reduce(const cGH *GH,
int proc,
int operation_handle,
@@ -127,6 +147,23 @@ const char *CCTK_LocalArrayReduceOperatorImplementation(int handle);
const char *CCTK_LocalArrayReduceOperator (int handle);
+/* new GA reduction API */
+int CCTK_ReduceGridArrays(const cGH *GH,
+ int local_reduce_handle,
+ int param_table_handle,
+ int N_input_arrays,
+ const CCTK_INT input_array_variable_indices[],
+ int M_output_values,
+ const CCTK_INT output_value_type_codes[],
+ void* const output_values[]);
+
+#define CCTK_RegisterGridArrayReductionOperator(a) \
+ CCTKi_RegisterGridArrayReductionOperator(CCTK_THORNSTRING,a)
+
+int CCTKi_RegisterGridArrayReductionOperator(const char *thorn, cGridArrayReduceOperator
+ operatorGV);
+
+const char *CCTK_GridArrayReductionOperator(void);
/* FIXME: old interface - should go */
int CCTK_ReduceLocalScalar (const cGH *GH, int proc, int operation_handle,