diff options
author | yye00 <yye00@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2005-11-08 20:17:38 +0000 |
---|---|---|
committer | yye00 <yye00@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2005-11-08 20:17:38 +0000 |
commit | b2415e75fe4781341a8bb75e110d4595db2962e6 (patch) | |
tree | 06897b89605df191cfbbc7c04fdb49514bf80a6e /src/include/cctk_Reduction.h | |
parent | 8c5ac8b551ddd21553011aabf01dff06e75202e5 (diff) |
Pointwise reduction flesh support
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4194 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/include/cctk_Reduction.h')
-rw-r--r-- | src/include/cctk_Reduction.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/include/cctk_Reduction.h b/src/include/cctk_Reduction.h index 6d7c0d73..e532a016 100644 --- a/src/include/cctk_Reduction.h +++ b/src/include/cctk_Reduction.h @@ -56,6 +56,20 @@ const CCTK_INT output_value_type_codes[], \ void* const output_values[] +#define POINTWISE_REDUCTION_OPERATOR_REGISTER_ARGLIST \ + const cGH *GH, \ + int dest_proc, \ + int local_reduce_handle, \ + int param_table_handle, \ + int N_input_arrays, \ + const void *const input_arrays[], \ + int N_dims,\ + const CCTK_INT input_array_dims[], \ + const CCTK_INT input_array_type_codes[], \ + int M_output_values, \ + const CCTK_INT output_value_type_codes[], \ + void* const output_values[] + #ifdef __cplusplus extern "C" { @@ -91,6 +105,20 @@ typedef int (*cGridArrayReduceOperator) (const cGH *GH, const CCTK_INT output_value_type_codes[], void* const output_values[]); +/* prototype for pointwise reduction operator routine */ +typedef int (*cPointwiseReduceOperator) (const cGH *GH, + int dest_proc, + int local_reduce_handle, + int param_table_handle, + int N_input_arrays, + const void * const input_arrays[], + int input_dims, + const CCTK_INT input_array_dims[], + const CCTK_INT input_array_type_codes[], + 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, @@ -170,6 +198,29 @@ int CCTKi_RegisterGridArrayReductionOperator(const char *thorn, cGridArrayReduce const char *CCTK_GridArrayReductionOperator(void); int CCTK_NumGridArrayReductionOperators(void); +/* new pointwise reduction API */ +int CCTK_ReducePointwise(const cGH *GH, + int dest_proc, + int local_reduce_handle, + int param_table_handle, + int N_input_arrays, + const void * const input_arrays[], + int input_dims, + const CCTK_INT input_array_dims[], + const CCTK_INT input_array_type_codes[], + int M_output_values, + const CCTK_INT output_value_type_codes[], + void* const output_values[]); + +#define CCTK_RegisterPointwiseReductionOperator(a) \ + CCTKi_RegisterPointwiseReductionOperator(CCTK_THORNSTRING,a) + +int CCTKi_RegisterPointwiseReductionOperator(const char *thorn, cPointwiseReduceOperator + operatorGV); + +const char *CCTK_PointwiseReductionOperator(void); +int CCTK_NumPointwiseReductionOperators(void); + /* FIXME: old interface - should go */ int CCTK_ReduceLocalScalar (const cGH *GH, int proc, int operation_handle, const void *inScalar, void *outScalar, int dataType); |