=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.h,v retrieving revision 1.29 retrieving revision 1.36 diff -u -p -r1.29 -r1.36 --- OpenXM_contrib2/asir2000/parse/parse.h 2004/03/04 01:41:32 1.29 +++ OpenXM_contrib2/asir2000/parse/parse.h 2005/08/25 18:59:11 1.36 @@ -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.28 2004/03/03 09:25:30 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.35 2005/07/27 04:35:11 noro Exp $ */ # if defined(VISUAL) #include @@ -67,8 +67,9 @@ typedef enum { I_FUNC, I_FUNC_OPT, I_IFUNC, I_MAP, I_RECMAP, I_PFDERIV, I_ANS, I_PVAR, I_ASSPVAR, I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, - I_COM, I_PROC, I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, - I_LOP, I_OPT, I_GETOPT, I_POINT, I_QUOTE, I_PAREN, I_MINUS, I_RANGE + 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 } fid; /* identifiers for statements */ @@ -77,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 */ @@ -133,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)(); @@ -142,6 +149,7 @@ typedef struct oFUNC { char *name,*fullname; int argc; int type; + int secure; aid id; union { void (*binf)(); @@ -301,6 +309,7 @@ extern int nextbp,nextbplevel; extern int Verbose; extern int do_quiet; extern SYMBOL Symbol_grlex, Symbol_glex, Symbol_lex; +extern NODE current_option; #if defined(VISUAL_LIB) #include @@ -336,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 *); @@ -747,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);