=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/nd.h,v retrieving revision 1.30 retrieving revision 1.35 diff -u -p -r1.30 -r1.35 --- OpenXM_contrib2/asir2000/engine/nd.h 2013/11/05 11:36:58 1.30 +++ OpenXM_contrib2/asir2000/engine/nd.h 2017/01/08 03:05:40 1.35 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.29 2013/09/26 00:38:47 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.34 2016/12/05 10:29:15 noro Exp $ */ #include "ca.h" #include "parse.h" #include "ox.h" @@ -8,7 +8,7 @@ #if defined(__GNUC__) #define INLINE static inline -#elif defined(VISUAL) +#elif defined(VISUAL) || defined(__MINGW32__) #define INLINE __inline #else #define INLINE @@ -47,6 +47,8 @@ typedef struct oNDV { typedef union oNDC { int m; Q z; + LM lm; + GZ gz; P p; R r; DAlg a; @@ -78,6 +80,7 @@ typedef struct oND_pairs { struct oND_pairs *next; int i1,i2; int sugar; + int sugar2; UINT lcm[1]; } *ND_pairs; @@ -141,11 +144,15 @@ extern int *current_module_weight_vector; #define HTD(d) (TD(HDL(d))) #define HCU(d) ((d)->body->c) #define HCM(d) ((d)->body->c.m) +#define HCLM(d) ((d)->body->c.lm) #define HCQ(d) ((d)->body->c.z) +#define HCZ(d) ((d)->body->c.gz) #define HCP(d) ((d)->body->c.p) #define HCA(d) ((d)->body->c.a) #define CM(x) ((x)->c.m) +#define CLM(x) ((x)->c.lm) #define CQ(x) ((x)->c.z) +#define CZ(x) ((x)->c.gz) #define CP(x) ((x)->c.p) #define CA(x) ((x)->c.a) #define DL(x) ((x)->dl) @@ -253,7 +260,7 @@ ND_pairs crit_B( ND_pairs d, int s ); ND_pairs crit_M( ND_pairs d1 ); ND_pairs crit_F( ND_pairs d1 ); int crit_2( int dp1, int dp2 ); -int ndv_newps(int m,NDV a,NDV aq); +int ndv_newps(int m,NDV a,NDV aq,int f4); /* top level functions */ void nd_gr(LIST f,LIST v,int m,int homo,int retdp,int f4,struct order_spec *ord,LIST *rp); @@ -316,6 +323,7 @@ EPOS nd_create_epos(struct order_spec *ord); int nd_get_exporigin(struct order_spec *ord); void ndv_mod(int mod,NDV p); NDV ndv_dup(int mod,NDV p); +NDV ndv_symbolic(int mod,NDV p); ND nd_dup(ND p); /* ND functions */ @@ -341,6 +349,8 @@ NODE nd_f4_red_dist(int m,ND_pairs sp0,UINT *s0vect,in NODE nd_f4_red_main(int m,ND_pairs sp0,int nsp,UINT *s0vect,int col, NM_ind_pair *rvect,int *rhead,IndArray *imat,int nred,ND_pairs *nz); NODE nd_f4_red_q_main(ND_pairs sp0,int nsp,int trace,UINT *s0vect,int col, + NM_ind_pair *rvect,int *rhead,IndArray *imat,int nred); +NODE nd_f4_red_gz_main(ND_pairs sp0,int nsp,int trace,UINT *s0vect,int col, NM_ind_pair *rvect,int *rhead,IndArray *imat,int nred); /* NDV functions */