=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/nd.h,v retrieving revision 1.14 retrieving revision 1.35 diff -u -p -r1.14 -r1.35 --- OpenXM_contrib2/asir2000/engine/nd.h 2006/04/17 04:35:20 1.14 +++ 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.13 2005/08/03 06:10:48 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" @@ -7,8 +7,8 @@ #include #if defined(__GNUC__) -#define INLINE inline -#elif defined(VISUAL) +#define INLINE static inline +#elif defined(VISUAL) || defined(__MINGW32__) #define INLINE __inline #else #define INLINE @@ -47,7 +47,10 @@ typedef struct oNDV { typedef union oNDC { int m; Q z; + LM lm; + GZ gz; P p; + R r; DAlg a; } *NDC; @@ -77,6 +80,7 @@ typedef struct oND_pairs { struct oND_pairs *next; int i1,i2; int sugar; + int sugar2; UINT lcm[1]; } *ND_pairs; @@ -115,6 +119,11 @@ typedef struct oIndArray } index; } *IndArray; +typedef struct oNDVI { + NDV p; + int i; +} *NDVI; + extern int (*ndl_compare_function)(UINT *a1,UINT *a2); extern int nd_dcomp; @@ -127,17 +136,23 @@ extern char *Demand; extern VL CO; extern int Top,Reverse,DP_Print,dp_nelim,do_weyl,NoSugar; extern int *current_weyl_weight_vector; +extern int *current_module_weight_vector; /* fundamental macros */ #define TD(d) (d[0]) #define HDL(d) ((d)->body->dl) #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) @@ -151,6 +166,7 @@ extern int *current_weyl_weight_vector; #define GET_EXP_OLD(d,a) (((d)[oepos[a].i]>>oepos[a].s)&omask0) #define PUT_EXP_OLD(r,a,e) ((r)[oepos[a].i] |= ((e)<