44 #include "RTOp_reduct_sum_values.h"
46 int RTOp_reduct_sum_values(
48 , RTOp_ReductTarget in_targ_obj, RTOp_ReductTarget inout_targ_obj )
54 num_values = *(RTOp_index_type*)obj_data;
56 for( k = 0; k < num_values; ++k )
57 ((RTOp_value_type*)inout_targ_obj)[k] += ((RTOp_value_type*)in_targ_obj)[k];
61 static void CALL_API external_reduct_op(
void* in_targ_array,
void* inout_targ_array
62 ,
int* len, RTOp_Datatype* datatype )
66 num_values = *(RTOp_value_type*)in_targ_array;
68 *in_targs = (RTOp_value_type*)in_targ_array + 3,
69 *inout_targs = (RTOp_value_type*)inout_targ_array + 3;
71 for( i = 0; i < *len; ++i, inout_targs += (3 + num_values), in_targs += (3 + num_values) ) {
72 for( k = 0; k < num_values; ++k )
73 inout_targs[k] += in_targs[k];
77 int RTOp_get_reduct_sum_values_op(
79 , RTOp_reduct_op_func_ptr_t* reduct_op_func_ptr )
81 *reduct_op_func_ptr = external_reduct_op;