=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/parse/parse.h,v retrieving revision 1.1 retrieving revision 1.7 diff -u -p -r1.1 -r1.7 --- OpenXM_contrib2/asir2018/parse/parse.h 2018/09/19 05:45:08 1.1 +++ OpenXM_contrib2/asir2018/parse/parse.h 2019/11/12 10:53:23 1.7 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM$ + * $OpenXM: OpenXM_contrib2/asir2018/parse/parse.h,v 1.6 2019/11/12 07:47:45 noro Exp $ */ # if defined(VISUAL) || defined(__MINGW32__) #include @@ -184,6 +184,9 @@ typedef struct oPF { int (*pari)(); double (*libm)(); int (*simplify)(); +#if defined(INTERVAL) + void (**intervalfunc)(); +#endif } *PF; typedef struct oPFAD { @@ -223,11 +226,6 @@ typedef struct oPVI { NODE index; } *PVI; -typedef struct oNODE2 { - pointer body1,body2; - struct oNODE2 *next; -} *NODE2; - struct ftab { char *name; void (*f)(); @@ -316,11 +314,6 @@ switch ( id ) {\ :PVATTR(i)==2?(long)(MPVS->va[PVIND(i)].priv=(pointer)(p))\ :(long)(PPVS->va[PVIND(i)].priv=(pointer)(p))) -#define NEWNODE2(a) ((a)=(NODE2)MALLOC(sizeof(struct oNODE2))) -#define MKNODE2(a,b,c,d) \ -(NEWNODE2(a),(a)->body1=(pointer)b,(a)->body2=(pointer)c,NEXT(a)=(NODE2)(d)) -#define BDY1(a) ((a)->body1) -#define BDY2(a) ((a)->body2) extern VS GPVS,CPVS,EPVS,APVS,MPVS,PPVS; extern MODULE CUR_MODULE; @@ -379,10 +372,10 @@ void dp_dtov(DP,VECT *); void dp_cont(DP,Z *); void dp_idiv(DP,Z,DP *); void dtodpm(DP d,int pos,DPM *dp); -void dpm_nf_z(NODE b,DPM g,DPM *ps,int full,int multiple,DPM *rp); -void dpm_nf_f(NODE b,DPM g,DPM *ps,int full,DPM *rp); +void dpm_nf_z(NODE b,DPM g,VECT ps,int full,int multiple,DPM *rp); +void dpm_nf_f(NODE b,DPM g,VECT ps,int full,DPM *rp); void weyl_actd(VL vl,DP p1,DP p2,DP *pr); -void dpm_sp(DPM p1,DPM p2,DPM *rp); +void dpm_sp(DPM p1,DPM p2,DPM *rp,DP *mul1,DP *mul2); void initdpm(struct order_spec *spec,int type); void dpm_ht(DPM p,DPM *rp); void dpm_hm(DPM p,DPM *rp); @@ -544,7 +537,11 @@ void getmemberp(FNODE,Obj **); void help(char *); void instov(PFINS ,V *); Obj memberofstruct(COMP,char *); -void mkpf(char *,Obj ,int ,V *,int (*)(),double (*)(),int (*)(),PF *); +#if defined(INTERVAL) +void mkpf(char *,Obj ,int ,V *,int (*)(),double (*)(),int (*)(),void (*[])(), PF *); +#else +void mkpf(char *,Obj ,int ,V *,int (*)(),double (*)(),int (*)(), PF *); +#endif void mkpfins(PF ,V *,V *); void mkuf(char *,char *,NODE,SNODE,int,int,char *,MODULE); void newstruct(int,struct oCOMP **); @@ -704,7 +701,7 @@ int myatoi(char *s); void yyerror(char *s); int Egetc(FILE *fp); void Eungetc(int c,FILE *fp); -void get_line(char *buf); +void xget_line(char *buf); int readline_getc(); void readline_ungetc(); char *readline_console(char *prompt); @@ -825,8 +822,13 @@ void show_debug_window(int on); void init_cmdwin(); void searchpf(char *name,FUNC *fp); void searchc(char *name,FUNC *fp); +#if defined(INTERVAL) void mkpf(char *name,Obj body,int argc,V *args, - int (*parif)(),double (*libmf)(), int (*simp)(),PF *pfp); + int (*parif)(),double (*libmf)(), int (*simp)(), void (*intervalfunc[])(), PF *pfp); +#else +void mkpf(char *name,Obj body,int argc,V *args, + int (*parif)(),double (*libmf)(), int (*simp)(), PF *pfp); +#endif void mkpfins(PF pf,V *args,V *vp); void _mkpfins(PF pf,Obj *args,V *vp); void _mkpfins_with_darray(PF pf,Obj *args,int *darray,V *vp); @@ -912,7 +914,7 @@ void mp_abs(NODE arg,Num *rp); int get_opt(char *key0,Obj *r); #if defined(VISUAL) || defined(__MINGW32__) -void ox_plot_main() +void ox_plot_main(); #else void ox_plot_main(int argc,char **argv); #endif