15 static int nnode, nelem;
21 static int set_ng_component(
void *src) {
26 static int set_nn_component(
void *src) {
31 static int set_ne_component(
void *src) {
36 static int set_ng_dof(
void *src) {
46 memcpy(result->
ng_dof, src, size);
50 static int set_nn_dof(
void *src) {
60 memcpy(result->
nn_dof, src, size);
64 static int set_ne_dof(
void *src) {
74 memcpy(result->
ne_dof, src, size);
78 static int set_global_label(
void *src) {
97 static int set_node_label(
void *src) {
116 static int set_elem_label(
void *src) {
135 static int set_global_val_item(
void *src) {
153 static int set_node_val_item(
void *src) {
171 static int set_elem_val_item(
void *src) {
195 static struct func_table {
201 {
"hecmwST_result_data",
"ng_component", set_ng_component},
202 {
"hecmwST_result_data",
"nn_component", set_nn_component},
203 {
"hecmwST_result_data",
"ne_component", set_ne_component},
204 {
"hecmwST_result_data",
"ng_dof", set_ng_dof},
205 {
"hecmwST_result_data",
"nn_dof", set_nn_dof},
206 {
"hecmwST_result_data",
"ne_dof", set_ne_dof},
207 {
"hecmwST_result_data",
"global_label", set_global_label},
208 {
"hecmwST_result_data",
"node_label", set_node_label},
209 {
"hecmwST_result_data",
"elem_label", set_elem_label},
210 {
"hecmwST_result_data",
"global_val_item", set_global_val_item},
211 {
"hecmwST_result_data",
"node_val_item", set_node_val_item},
212 {
"hecmwST_result_data",
"elem_val_item", set_elem_val_item},
215 static const int NFUNC =
sizeof(functions) /
sizeof(functions[0]);
217 static SetFunc get_set_func(
char *struct_name,
char *var_name) {
220 for (i = 0; i < NFUNC; i++) {
221 if (strcmp(functions[i].struct_name, struct_name) == 0 &&
222 strcmp(functions[i].var_name, var_name) == 0) {
223 return functions[i].set_func;
232 int n_node,
int n_elem) {
233 result = result_data;
247 int *err,
int slen,
int vlen) {
254 if (result ==
NULL) {
257 "hecmw_result_copy_f2c_set_if(): 'result' has not initialized yet");
260 if (struct_name ==
NULL) {
262 "hecmw_result_copy_f2c_set_if(): 'sname' is NULL");
265 if (var_name ==
NULL) {
267 "hecmw_result_copy_f2c_set_if(): 'vname' is NULL");
279 func = get_set_func(sname, vname);
282 "hecmw_result_copy_f2c_set_if(): SetFunc not found");
294 int *err,
int slen,
int vlen) {
299 void *src,
int *err,
int slen,
305 void *src,
int *err,
int slen,
315 if (result ==
NULL) {
int HECMW_set_error(int errorno, const char *fmt,...)
char * HECMW_strcpy_f2c(const char *fstr, int flen)
char * HECMW_strcpy_f2c_r(const char *fstr, int flen, char *buf, int bufsize)
#define HECMW_calloc(nmemb, size)
#define HECMW_malloc(size)
int HECMW_result_get_nnode(void)
int HECMW_result_get_nelem(void)
void HECMW_result_free(struct hecmwST_result_data *result)
char * HECMW_result_get_comment(char *buff)
char * HECMW_result_get_header(char *buff)
int HECMW_result_write_ST_by_name(char *name_ID, struct hecmwST_result_data *result, int n_node, int n_elem, char *header, char *comment)
void hecmw_result_write_st_init_if__(int *err)
void hecmw_result_write_st_by_name_if(char *name_ID, int *err, int len)
void hecmw_result_copy_f2c_set_if(char *struct_name, char *var_name, void *src, int *err, int slen, int vlen)
void HECMW_RESULT_WRITE_ST_FINALIZE_IF(int *err)
void HECMW_RESULT_WRITE_ST_BY_NAME_IF(char *name_ID, int *err, int len)
void hecmw_result_write_st_finalize_if__(int *err)
void hecmw_result_write_st_finalize_if_(int *err)
void hecmw_result_write_st_by_name_if_(char *name_ID, int *err, int len)
void hecmw_result_copy_f2c_set_if__(char *struct_name, char *var_name, void *src, int *err, int slen, int vlen)
void HECMW_RESULT_COPY_F2C_SET_IF(char *struct_name, char *var_name, void *src, int *err, int slen, int vlen)
void HECMW_RESULT_WRITE_ST_INIT_IF(int *err)
void hecmw_result_write_st_by_name_if__(char *name_ID, int *err, int len)
int HECMW_result_copy_f2c_init(struct hecmwST_result_data *result_data, int n_node, int n_elem)
void hecmw_result_write_st_init_if(int *err)
void hecmw_result_copy_f2c_set_if_(char *struct_name, char *var_name, void *src, int *err, int slen, int vlen)
void hecmw_result_write_st_finalize_if(int *err)
void hecmw_result_write_st_init_if_(int *err)
int HECMW_result_copy_f2c_finalize(void)
char head[HECMW_HEADER_LEN+1]