=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.h,v retrieving revision 1.31 retrieving revision 1.37 diff -u -p -r1.31 -r1.37 --- OpenXM_contrib2/asir2000/parse/parse.h 2004/07/07 07:40:19 1.31 +++ OpenXM_contrib2/asir2000/parse/parse.h 2005/09/13 06:40:46 1.37 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.30 2004/05/14 09:20:57 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.36 2005/08/25 18:59:11 ohara Exp $ */ # if defined(VISUAL) #include @@ -69,7 +69,7 @@ typedef enum { I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS, - I_NARYOP + I_NARYOP, I_UNIFY } fid; /* identifiers for statements */ @@ -78,7 +78,8 @@ typedef enum { S_BP, S_PFDEF, S_SINGLE, S_CPLX, S_IFELSE, S_FOR, S_DO, - S_BREAK, S_RETURN, S_CONTINUE + S_BREAK, S_RETURN, S_CONTINUE, + S_MODULE } sid; /* identifiers for comparison operators */ @@ -134,6 +135,11 @@ struct oTKWD { int token; }; +typedef struct fid_spec { + fid id; + farg_type type[10]; +} *fid_spec_p; + typedef struct oARF { char *name; void (*fp)(); @@ -143,6 +149,7 @@ typedef struct oFUNC { char *name,*fullname; int argc; int type; + int secure; aid id; union { void (*binf)(); @@ -338,6 +345,7 @@ void dp_ptozp_d(DP,DP *); void dp_vtod(Q *,DP,DP *); void dp_idivv_hist(Q,DP *); void dp_igcdv_hist(DP,Q *); +void dp_ptozp3(DP,Q *,DP *); void dp_ptozp2(DP,DP,DP *,DP *); void dp_ptozp(DP,DP *); void dp_nf_tab_mod(DP,LIST *,int,DP *); @@ -749,7 +757,7 @@ int generic_gauss_elim_mod(int **mat0,int row,int col, int lu_gfmmat(GFMMAT mat,unsigned int md,int *perm); int find_lhs_and_lu_mod(unsigned int **a,int row,int col, unsigned int md,int **rinfo,int **cinfo); -void solve_by_lu_mod(int **a,int n,int md,int **b,int l); +void solve_by_lu_mod(int **a,int n,int md,int **b,int l,int normalize); int gauss_elim_mod1(int **mat,int row,int col,int md); int gauss_elim_geninv_mod(unsigned int **mat,int row,int col,int md); void solve_by_lu_gfmmat(GFMMAT lu,unsigned int md,unsigned int *b,unsigned int *x);