version 1.8, 2003/05/19 06:57:38 |
version 1.13, 2005/10/12 04:03:37 |
|
|
/* -*- mode: C; coding: euc-japan -*- */ |
/* -*- mode: C; coding: euc-japan -*- */ |
/* $OpenXM: OpenXM/src/ox_toolkit/mathcap.c,v 1.7 2000/12/03 16:15:03 ohara Exp $ */ |
/* $OpenXM: OpenXM/src/ox_toolkit/mathcap.c,v 1.12 2005/07/26 12:52:05 ohara Exp $ */ |
|
|
/* This module includes functions for handling mathcap databases. */ |
/* This module includes functions for handling mathcap databases. */ |
|
|
Line 39 static int cmotbl_a[] = { |
|
Line 39 static int cmotbl_a[] = { |
|
CMO_LIST, |
CMO_LIST, |
CMO_MONOMIAL32, |
CMO_MONOMIAL32, |
CMO_ZZ, |
CMO_ZZ, |
|
CMO_QQ, |
|
CMO_IEEE_DOUBLE_FLOAT, |
CMO_ZERO, |
CMO_ZERO, |
CMO_DMS_GENERIC, |
CMO_DMS_GENERIC, |
CMO_RING_BY_NAME, |
CMO_RING_BY_NAME, |
Line 87 static table *new_table(int *src) |
|
Line 89 static table *new_table(int *src) |
|
int i; |
int i; |
while (src[len++] != 0) { |
while (src[len++] != 0) { |
} |
} |
new = malloc(sizeof(table)*len); |
new = MALLOC(sizeof(table)*len); |
for(i=0; i<len; i++) { |
for(i=0; i<len; i++) { |
table_init(new+i, src[i]); |
table_init(new+i, src[i]); |
} |
} |
Line 236 static cmo_list *sysinfo_get() |
|
Line 238 static cmo_list *sysinfo_get() |
|
|
|
static char *new_string(char *s) |
static char *new_string(char *s) |
{ |
{ |
char *t = malloc(strlen(s)+1); |
char *t = MALLOC(strlen(s)+1); |
strcpy(t, s); |
strcpy(t, s); |
return t; |
return t; |
} |
} |
Line 247 static int *new_int_array(int *array) |
|
Line 249 static int *new_int_array(int *array) |
|
int length = 0; |
int length = 0; |
while(array[length++] != 0) |
while(array[length++] != 0) |
; |
; |
new_array = malloc(sizeof(int)*length); |
new_array = MALLOC(sizeof(int)*length); |
return memcpy(new_array, array, sizeof(int)*length); |
return memcpy(new_array, array, sizeof(int)*length); |
} |
} |
|
|
Line 268 void mathcap_init(int ver, char *vstr, char *sysname, |
|
Line 270 void mathcap_init(int ver, char *vstr, char *sysname, |
|
|
|
mathcap *new_mathcap() |
mathcap *new_mathcap() |
{ |
{ |
mathcap *new = malloc(sizeof(mathcap)); |
mathcap *new = MALLOC(sizeof(mathcap)); |
new->cmotbl = new_table(sysinfo.cmo_tags); |
new->cmotbl = new_table(sysinfo.cmo_tags); |
new->smtbl = new_table(sysinfo.sm_cmds); |
new->smtbl = new_table(sysinfo.sm_cmds); |
return new; |
return new; |
Line 279 cmo_mathcap* mathcap_get(mathcap *this) |
|
Line 281 cmo_mathcap* mathcap_get(mathcap *this) |
|
{ |
{ |
cmo_list *mc = new_cmo_list(); |
cmo_list *mc = new_cmo_list(); |
cmo_list *l3 = new_cmo_list(); |
cmo_list *l3 = new_cmo_list(); |
list_append(l3, list_appendl(new_cmo_list(), |
list_append(l3, (cmo *)list_appendl(new_cmo_list(), |
new_cmo_int32(OX_DATA), |
new_cmo_int32(OX_DATA), |
table_get_all(this->cmotbl), NULL)); |
table_get_all(this->cmotbl), NULL)); |
list_appendl(mc, (cmo *)sysinfo_get(), |
list_appendl(mc, (cmo *)sysinfo_get(), |