RTOp_ROp_get_sub_vector.c File Reference

#include "RTOp_ROp_get_sub_vector.h"
#include "RTOp_obj_free_free.h"

Include dependency graph for RTOp_ROp_get_sub_vector.c:

Go to the source code of this file.

Classes

struct  RTOp_ROp_get_sub_vector_rng_t

Defines

#define MY_MIN(a, b)   a < b ? a : b

Functions

int get_op_type_num_entries (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_data, int *num_values, int *num_indexes, int *num_chars)
int obj_create (const struct RTOp_obj_type_vtbl_t *vtbl, const void *instance_data, RTOp_ReductTarget *obj)
int extract_op_state (const struct RTOp_obj_type_vtbl_t *vtbl, const void *dummy, void *obj_data, 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 load_op_state (const struct RTOp_obj_type_vtbl_t *vtbl, const void *dummy, 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_data)
int get_targ_type_num_entries (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_data, int *num_values, int *num_indexes, int *num_chars)
int targ_obj_create (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget *targ_obj)
int targ_obj_reinit (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget targ_obj)
int targ_obj_free (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget *targ_obj)
int targ_extract_state (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_data, void *targ_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 targ_load_state (const struct RTOp_obj_type_vtbl_t *vtbl, const void *obj_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 **targ_obj)
int RTOp_ROp_get_sub_vector_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 reduce_reduct_objs (const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget in_reduct_obj, RTOp_ReductTarget inout_reduct_obj)
void external_reduct_op (void *in_targ_array, void *inout_targ_array, int *len, RTOp_Datatype *datatype)
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)
int RTOp_ROp_get_sub_vector_construct (RTOp_index_type l, RTOp_index_type u, struct RTOp_RTOp *op)
int RTOp_ROp_get_sub_vector_set_range (RTOp_index_type l, RTOp_index_type u, struct RTOp_RTOp *op)
int RTOp_ROp_get_sub_vector_destroy (struct RTOp_RTOp *op)
RTOp_SubVector RTOp_ROp_get_sub_vector_val (RTOp_ReductTarget targ_obj)

Variables

RTOp_obj_type_vtbl_t instance_obj_vtbl
RTOp_obj_type_vtbl_t targ_obj_vtbl
const struct RTOp_RTOp_vtbl_t RTOp_ROp_get_sub_vector_vtbl


Define Documentation

#define MY_MIN a,
 )     a < b ? a : b
 

Definition at line 34 of file RTOp_ROp_get_sub_vector.c.


Function Documentation

int get_op_type_num_entries const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_data,
int *  num_values,
int *  num_indexes,
int *  num_chars
[static]
 

Definition at line 43 of file RTOp_ROp_get_sub_vector.c.

int obj_create const struct RTOp_obj_type_vtbl_t vtbl,
const void *  instance_data,
RTOp_ReductTarget obj
[static]
 

Definition at line 60 of file RTOp_ROp_get_sub_vector.c.

int extract_op_state const struct RTOp_obj_type_vtbl_t vtbl,
const void *  dummy,
void *  obj_data,
int  num_values,
RTOp_value_type  value_data[],
int  num_indexes,
RTOp_index_type  index_data[],
int  num_chars,
RTOp_char_type  char_data[]
[static]
 

Definition at line 68 of file RTOp_ROp_get_sub_vector.c.

int load_op_state const struct RTOp_obj_type_vtbl_t vtbl,
const void *  dummy,
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_data
[static]
 

Definition at line 91 of file RTOp_ROp_get_sub_vector.c.

int get_targ_type_num_entries const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_data,
int *  num_values,
int *  num_indexes,
int *  num_chars
[static]
 

Definition at line 128 of file RTOp_ROp_get_sub_vector.c.

int targ_obj_create const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_data,
RTOp_ReductTarget targ_obj
[static]
 

Definition at line 148 of file RTOp_ROp_get_sub_vector.c.

int targ_obj_reinit const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_data,
RTOp_ReductTarget  targ_obj
[static]
 

Definition at line 175 of file RTOp_ROp_get_sub_vector.c.

int targ_obj_free const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_data,
RTOp_ReductTarget targ_obj
[static]
 

Definition at line 199 of file RTOp_ROp_get_sub_vector.c.

int targ_extract_state const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_data,
void *  targ_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[]
[static]
 

Definition at line 222 of file RTOp_ROp_get_sub_vector.c.

int targ_load_state const struct RTOp_obj_type_vtbl_t vtbl,
const void *  obj_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 **  targ_obj
[static]
 

Definition at line 258 of file RTOp_ROp_get_sub_vector.c.

int RTOp_ROp_get_sub_vector_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
[static]
 

Definition at line 314 of file RTOp_ROp_get_sub_vector.c.

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]
 

Definition at line 379 of file RTOp_ROp_get_sub_vector.c.

void external_reduct_op void *  in_targ_array,
void *  inout_targ_array,
int *  len,
RTOp_Datatype *  datatype
[static]
 

Definition at line 411 of file RTOp_ROp_get_sub_vector.c.

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
[static]
 

Definition at line 453 of file RTOp_ROp_get_sub_vector.c.

int RTOp_ROp_get_sub_vector_construct RTOp_index_type  l,
RTOp_index_type  u,
struct RTOp_RTOp op
 

Definition at line 474 of file RTOp_ROp_get_sub_vector.c.

int RTOp_ROp_get_sub_vector_set_range RTOp_index_type  l,
RTOp_index_type  u,
struct RTOp_RTOp op
 

Definition at line 486 of file RTOp_ROp_get_sub_vector.c.

int RTOp_ROp_get_sub_vector_destroy struct RTOp_RTOp op  ) 
 

Definition at line 498 of file RTOp_ROp_get_sub_vector.c.

struct RTOp_SubVector RTOp_ROp_get_sub_vector_val RTOp_ReductTarget  reduct_obj  ) 
 

Get the sub-vector.

This function should only be called after the complete reduction operation has been finished. However, RTOp_reduct_obj_free(...) should still be called to delete the reduct_obj once it is finished being used.

Parameters:
reduct_obj [in/out] On input, this object must at least be initialized and may or may not have been through any reduction operations.
Returns:
The returned sub-vector object does not own any memory. technically, reduct_obj owns the memory. However, to transfer memory over the client, call free(reduct_obj) and then set reduct_obj == RTOp_REDUCT_OBJ_NULL to avoid future mistakes.

Definition at line 509 of file RTOp_ROp_get_sub_vector.c.


Variable Documentation

struct RTOp_obj_type_vtbl_t instance_obj_vtbl [static]
 

Initial value:

{
  get_op_type_num_entries
  ,obj_create
  ,NULL
  ,RTOp_obj_free_free
  ,extract_op_state
  ,load_op_state
}

Definition at line 116 of file RTOp_ROp_get_sub_vector.c.

struct RTOp_obj_type_vtbl_t targ_obj_vtbl [static]
 

Initial value:

{
  get_targ_type_num_entries
  ,targ_obj_create
  ,targ_obj_reinit
  ,targ_obj_free
  ,targ_extract_state
  ,targ_load_state
}

Definition at line 302 of file RTOp_ROp_get_sub_vector.c.

const struct RTOp_RTOp_vtbl_t RTOp_ROp_get_sub_vector_vtbl
 

Initial value:

{
  &instance_obj_vtbl
  ,&targ_obj_vtbl
  ,"RTOp_ROp_get_sub_vector"
  ,NULL
  ,RTOp_ROp_get_sub_vector_apply_op
  ,reduce_reduct_objs
  ,get_reduct_op
}

Definition at line 463 of file RTOp_ROp_get_sub_vector.c.


Generated on Thu Sep 18 12:36:01 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1