int CCTK_Reduce1(const cGH *GH, int proc, int operation_handle, int num_out_vals, int type_out_vals, void *out_vals, int num_in_fields, const int *in_fields) { int retval; t_reduce_operator *operator; /* Get the pointer to the reduction operator */ if (operation_handle < 0) { CCTK_Warn(3,__LINE__,__FILE__,"Cactus", "CCTK_Reduce1: Invalid handle passed to CCTK_Reduce1"); retval = -1; } else { operator = Util_GetHandledData(ReductionOperators,operation_handle); if (!operator) { CCTK_Warn(3,__LINE__,__FILE__,"Cactus", "CCTK_Reduce1: Reduction operation is not registered" "and cannot be called"); retval = -1; } else { retval = operator->reduce_operator (GH, proc, num_out_vals, type_out_vals, out_vals, num_in_fields, in_fields); } } return retval; } void CCTK_FCALL CCTK_FNAME(CCTK_Reduce1) (int *fortranreturn, const cGH *const *GH, const int *proc, const int *operation_handle, const int *num_out_vals, const int *type_out_vals, void *out_vals, const int *num_in_fields, const int *in_fields) { *fortranreturn = CCTK_Reduce1(*GH, *proc, *operation_handle, *num_out_vals, *type_out_vals, out_vals, *num_in_fields, in_fields); }