60 ,
const void * instance_data
73 assert( num_values == 1 );
74 assert( num_indexes == 1 );
75 assert( num_chars == 0 );
78 value_data[0] = vi_obj->
value;
79 index_data[0] = vi_obj->
index;
85 ,
const void * instance_data
99 assert( num_values == 1 );
100 assert( num_indexes == 1 );
101 assert( num_chars == 0 );
104 vi_obj->
value = value_data[0];
105 vi_obj->
index = index_data[0];
126 size_t global_offset;
142 if( num_targ_vecs != 0 )
163 i = global_offset + 1;
164 for( k = 0; k < sub_dim; ++k, ++i, v_val += v_val_s ) {
165 abs_v_i = fabs(*v_val);
166 if( abs_v_i > targ->
value || ( abs_v_i == targ->
value && i < targ->
index ) || targ->
index == 0 ) {
167 targ->
value = *v_val;
184 i_abs_val = fabs(i_targ->
value),
185 io_abs_val = fabs(io_targ->
value);
187 ( i_abs_val > io_abs_val )
189 ( i_abs_val > io_abs_val && i_targ->
index < io_targ->
index )
static int reduce_reduct_objs(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget in_reduct_obj, RTOp_ReductTarget inout_reduct_obj)
static int CALL_API targ_extract_state(const struct RTOp_obj_type_vtbl_t *vtbl, const void *instance_data, void *obj, int num_values, RTOp_value_type value_data[], int num_indexes, RTOp_index_type index_data[], int num_chars, RTOp_char_type char_data[])
int RTOp_ROp_max_abs_ele_destroy(struct RTOp_RTOp *op)
RTOp_index_type global_offset
const struct RTOp_obj_type_vtbl_t RTOp_obj_value_index_vtbl
static int CALL_API targ_load_state(const struct RTOp_obj_type_vtbl_t *vtbl, const void *instance_data, int num_values, const RTOp_value_type value_data[], int num_indexes, const RTOp_index_type index_data[], int num_chars, const RTOp_char_type char_data[], void **obj)
const RTOp_value_type * values
static int get_reduct_op(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, RTOp_reduct_op_func_ptr_t *reduct_op_func_ptr)
#define RTOp_ERR_INVALID_NUM_VECS
struct RTOp_value_index_type RTOp_ROp_max_abs_ele_val(RTOp_ReductTarget targ_obj)
const struct RTOp_obj_type_vtbl_t RTOp_obj_null_vtbl
INSERT_GET_REDUCT_OP_FUNCS(1, 1, 0, RTOp_value_index_type, reduce_reduct_objs, targ_load_state, targ_extract_state, external_reduct_op, get_reduct_op) const
static int RTOp_ROp_max_abs_ele_apply_op(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, const int num_vecs, const struct RTOp_SubVector vecs[], const int num_targ_vecs, const struct RTOp_MutableSubVector targ_vecs[], RTOp_ReductTarget targ_obj)
int RTOp_ROp_max_abs_ele_construct(struct RTOp_RTOp *op)
const struct RTOp_RTOp_vtbl_t RTOp_ROp_max_abs_ele_vtbl
const struct RTOp_RTOp_vtbl_t * vtbl
#define RTOp_ERR_INVALID_NUM_TARG_VECS
static void CALL_API external_reduct_op(void *in_targ_array, void *inout_targ_array, int *len, RTOp_Datatype *datatype)
Teuchos_Ordinal RTOp_index_type