=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/nd.h,v retrieving revision 1.34 retrieving revision 1.37 diff -u -p -r1.34 -r1.37 --- OpenXM_contrib2/asir2000/engine/nd.h 2016/12/05 10:29:15 1.34 +++ OpenXM_contrib2/asir2000/engine/nd.h 2017/09/14 01:34:54 1.37 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.33 2015/08/14 13:51:54 fujimoto Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.36 2017/02/21 09:20:23 noro Exp $ */ #include "ca.h" #include "parse.h" #include "ox.h" @@ -47,6 +47,7 @@ typedef struct oNDV { typedef union oNDC { int m; Q z; + LM lm; GZ gz; P p; R r; @@ -143,11 +144,13 @@ 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) @@ -262,7 +265,7 @@ 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); void nd_gr_trace(LIST f,LIST v,int trace,int homo,int f4,struct order_spec *ord,LIST *rp); -NODE nd_f4(int m,int **indp); +NODE nd_f4(int m,int checkonly,int **indp); NODE nd_gb(int m,int ishomo,int checkonly,int gensyz,int **indp); NODE nd_gb_trace(int m,int ishomo,int **indp); NODE nd_f4_trace(int m,int **indp); @@ -344,6 +347,10 @@ INLINE int nd_length(ND p); NODE nd_f4_red(int m,ND_pairs sp0,int trace,UINT *s0vect,int col,NODE rp0,ND_pairs *nz); NODE nd_f4_red_dist(int m,ND_pairs sp0,UINT *s0vect,int col,NODE rp0, ND_pairs *nz); 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_mod_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_sf_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);