diff options
author | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2004-08-30 16:56:06 +0000 |
---|---|---|
committer | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2004-08-30 16:56:06 +0000 |
commit | 9192f677d1e7ac6581c289e5e0d149f16ab89d44 (patch) | |
tree | f57e7a0f7ff799116a2b7421a1007b789ebb9eb1 /src/include/cctk_Reduction.h | |
parent | d99b515d127ca9b4d161a6aeb93940fb153dd73e (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.h | 37 |
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, |