version 1.5, 2019/09/04 01:12:02 |
version 1.8, 2020/02/22 06:23:36 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2018/parse/parse.h,v 1.4 2019/08/21 00:37:47 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2018/parse/parse.h,v 1.7 2019/11/12 10:53:23 kondoh Exp $ |
*/ |
*/ |
# if defined(VISUAL) || defined(__MINGW32__) |
# if defined(VISUAL) || defined(__MINGW32__) |
#include <time.h> |
#include <time.h> |
Line 184 typedef struct oPF { |
|
Line 184 typedef struct oPF { |
|
int (*pari)(); |
int (*pari)(); |
double (*libm)(); |
double (*libm)(); |
int (*simplify)(); |
int (*simplify)(); |
|
#if defined(INTERVAL) |
|
void (**intervalfunc)(); |
|
#endif |
} *PF; |
} *PF; |
|
|
typedef struct oPFAD { |
typedef struct oPFAD { |
Line 223 typedef struct oPVI { |
|
Line 226 typedef struct oPVI { |
|
NODE index; |
NODE index; |
} *PVI; |
} *PVI; |
|
|
typedef struct oNODE2 { |
|
pointer body1,body2; |
|
struct oNODE2 *next; |
|
} *NODE2; |
|
|
|
struct ftab { |
struct ftab { |
char *name; |
char *name; |
void (*f)(); |
void (*f)(); |
Line 316 switch ( id ) {\ |
|
Line 314 switch ( id ) {\ |
|
:PVATTR(i)==2?(long)(MPVS->va[PVIND(i)].priv=(pointer)(p))\ |
:PVATTR(i)==2?(long)(MPVS->va[PVIND(i)].priv=(pointer)(p))\ |
:(long)(PPVS->va[PVIND(i)].priv=(pointer)(p))) |
:(long)(PPVS->va[PVIND(i)].priv=(pointer)(p))) |
|
|
#define NEWNODE2(a) ((a)=(NODE2)MALLOC(sizeof(struct oNODE2))) |
#define GETPV2(i,p,pvs) \ |
#define MKNODE2(a,b,c,d) \ |
(PVATTR(i)==0?(long)((p)=pvs->va[(unsigned int)(i)].priv)\ |
(NEWNODE2(a),(a)->body1=(pointer)b,(a)->body2=(pointer)c,NEXT(a)=(NODE2)(d)) |
:PVATTR(i)==1?(long)((p)=GPVS->va[PVIND(i)].priv)\ |
#define BDY1(a) ((a)->body1) |
:PVATTR(i)==2?(long)((p)=MPVS->va[PVIND(i)].priv)\ |
#define BDY2(a) ((a)->body2) |
:(long)((p)=PPVS->va[PVIND(i)].priv)) |
|
|
|
#define GETPVREF2(i,p,pvs) \ |
|
(PVATTR(i)==0?(long)((p)=&(pvs->va[(unsigned long)(i)].priv))\ |
|
:PVATTR(i)==1?(long)((p)=&(GPVS->va[PVIND(i)].priv))\ |
|
:PVATTR(i)==2?(long)((p)=&(MPVS->va[PVIND(i)].priv))\ |
|
:(long)((p)=&(PPVS->va[PVIND(i)].priv))) |
|
|
|
#define GETPVNAME2(i,p,pvs) \ |
|
(PVATTR(i)==0?(long)((p)=pvs->va[(unsigned long)(i)].name)\ |
|
:PVATTR(i)==1?(long)((p)=GPVS->va[PVIND(i)].name)\ |
|
:PVATTR(i)==2?(long)((p)=MPVS->va[PVIND(i)].name)\ |
|
:(long)((p)=PPVS->va[PVIND(i)].name)) |
|
|
|
#define ASSPV2(i,p,pvs) \ |
|
(PVATTR(i)==0?(long)(pvs->va[(unsigned long)(i)].priv=(pointer)(p))\ |
|
:PVATTR(i)==1?(long)(GPVS->va[PVIND(i)].priv=(pointer)(p))\ |
|
:PVATTR(i)==2?(long)(MPVS->va[PVIND(i)].priv=(pointer)(p))\ |
|
:(long)(PPVS->va[PVIND(i)].priv=(pointer)(p))) |
|
|
|
|
|
|
extern VS GPVS,CPVS,EPVS,APVS,MPVS,PPVS; |
extern VS GPVS,CPVS,EPVS,APVS,MPVS,PPVS; |
extern MODULE CUR_MODULE; |
extern MODULE CUR_MODULE; |
extern NODE MODULE_LIST; |
extern NODE MODULE_LIST; |
Line 544 void getmemberp(FNODE,Obj **); |
|
Line 562 void getmemberp(FNODE,Obj **); |
|
void help(char *); |
void help(char *); |
void instov(PFINS ,V *); |
void instov(PFINS ,V *); |
Obj memberofstruct(COMP,char *); |
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 mkpfins(PF ,V *,V *); |
void mkuf(char *,char *,NODE,SNODE,int,int,char *,MODULE); |
void mkuf(char *,char *,NODE,SNODE,int,int,char *,MODULE); |
void newstruct(int,struct oCOMP **); |
void newstruct(int,struct oCOMP **); |
Line 784 void dptoquote(DP a,QUOTE *c); |
|
Line 806 void dptoquote(DP a,QUOTE *c); |
|
void dctoquote(DCP dc,QUOTE v,QUOTE *c,int *sgn); |
void dctoquote(DCP dc,QUOTE v,QUOTE *c,int *sgn); |
void mptoquote(MP m,int n,QUOTE *c,int *sgn); |
void mptoquote(MP m,int n,QUOTE *c,int *sgn); |
void vartoquote(V v,QUOTE *c); |
void vartoquote(V v,QUOTE *c); |
void fnodetotree(FNODE f,LIST *rp); |
void fnodetotree(FNODE f,VS vs,LIST *rp); |
int compfnode(FNODE f1,FNODE f2); |
int compfnode(FNODE f1,FNODE f2); |
FNODE eval_pvar_in_fnode(FNODE f); |
FNODE eval_pvar_in_fnode(FNODE f); |
FNODE subst_in_fnode(FNODE f,V v,FNODE g); |
FNODE subst_in_fnode(FNODE f,V v,FNODE g); |
Line 825 void show_debug_window(int on); |
|
Line 847 void show_debug_window(int on); |
|
void init_cmdwin(); |
void init_cmdwin(); |
void searchpf(char *name,FUNC *fp); |
void searchpf(char *name,FUNC *fp); |
void searchc(char *name,FUNC *fp); |
void searchc(char *name,FUNC *fp); |
|
#if defined(INTERVAL) |
void mkpf(char *name,Obj body,int argc,V *args, |
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,V *args,V *vp); |
void _mkpfins(PF pf,Obj *args,V *vp); |
void _mkpfins(PF pf,Obj *args,V *vp); |
void _mkpfins_with_darray(PF pf,Obj *args,int *darray,V *vp); |
void _mkpfins_with_darray(PF pf,Obj *args,int *darray,V *vp); |