=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/nd.h,v retrieving revision 1.5 retrieving revision 1.25 diff -u -p -r1.5 -r1.25 --- OpenXM_contrib2/asir2000/engine/nd.h 2004/09/15 01:43:33 1.5 +++ OpenXM_contrib2/asir2000/engine/nd.h 2009/02/15 03:07:41 1.25 @@ -1,3 +1,4 @@ +/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.24 2009/02/11 03:04:42 noro Exp $ */ #include "ca.h" #include "parse.h" #include "ox.h" @@ -47,6 +48,8 @@ typedef union oNDC { int m; Q z; P p; + R r; + DAlg a; } *NDC; /* monomial; linked list rep. */ @@ -113,6 +116,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; @@ -125,21 +133,25 @@ 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 HCQ(d) ((d)->body->c.z) #define HCP(d) ((d)->body->c.p) -#define CM(a) ((a)->c.m) -#define CQ(a) ((a)->c.z) -#define CP(a) ((a)->c.p) -#define DL(a) ((a)->dl) -#define SG(a) ((a)->sugar) -#define LEN(a) ((a)->len) -#define LCM(a) ((a)->lcm) +#define HCA(d) ((d)->body->c.a) +#define CM(x) ((x)->c.m) +#define CQ(x) ((x)->c.z) +#define CP(x) ((x)->c.p) +#define CA(x) ((x)->c.a) +#define DL(x) ((x)->dl) +#define SG(x) ((x)->sugar) +#define LEN(x) ((x)->len) +#define LCM(x) ((x)->lcm) #define GET_EXP(d,a) (((d)[nd_epos[a].i]>>nd_epos[a].s)&nd_mask0) #define GET_EXP_MASK(d,a,m) ((((d)[nd_epos[a].i]&(m)[nd_epos[a].i])>>nd_epos[a].s)&nd_mask0) #define PUT_EXP(r,a,e) ((r)[nd_epos[a].i] |= ((e)<>oepos[a].s)&omask0) #define PUT_EXP_OLD(r,a,e) ((r)[oepos[a].i] |= ((e)<