=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/nd.h,v retrieving revision 1.27 retrieving revision 1.30 diff -u -p -r1.27 -r1.30 --- OpenXM_contrib2/asir2000/engine/nd.h 2010/04/16 07:13:42 1.27 +++ OpenXM_contrib2/asir2000/engine/nd.h 2013/11/05 11:36:58 1.30 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.26 2009/10/12 10:43:45 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.29 2013/09/26 00:38:47 noro Exp $ */ #include "ca.h" #include "parse.h" #include "ox.h" @@ -7,7 +7,7 @@ #include #if defined(__GNUC__) -#define INLINE inline +#define INLINE static inline #elif defined(VISUAL) #define INLINE __inline #else @@ -256,7 +256,7 @@ int crit_2( int dp1, int dp2 ); int ndv_newps(int m,NDV a,NDV aq); /* top level functions */ -void nd_gr(LIST f,LIST v,int m,int homo,int f4,struct order_spec *ord,LIST *rp); +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_gb(int m,int ishomo,int checkonly,int gensyz,int **indp); @@ -325,7 +325,7 @@ void nd_mul_c_q(ND p,P mul); void nd_mul_c_p(VL vl,ND p,P mul); ND nd_remove_head(ND p); ND nd_separate_head(ND p,ND *head); -int nd_length(ND p); +INLINE int nd_length(ND p); void nd_append_red(UINT *d,int i); UINT *ndv_compute_bound(NDV p); UINT *nd_compute_bound(ND p); @@ -369,7 +369,7 @@ P ndvtop(int mod,VL vl,VL dvl,NDV p); NDV ndtondv(int mod,ND p); ND ndvtond(int mod,NDV p); Q *nm_ind_pair_to_vect(int m,UINT *s0,int n,NM_ind_pair pair); -IndArray nm_ind_pair_to_vect_compress(int m,UINT *s0,int n,NM_ind_pair pair); +IndArray nm_ind_pair_to_vect_compress(int m,UINT *s0,int n,int *s0hash,NM_ind_pair pair); int nd_to_vect(int mod,UINT *s0,int n,ND d,UINT *r); int nd_to_vect_q(UINT *s0,int n,ND d,Q *r); NDV vect_to_ndv_q(Q *vect,int spcol,int col,int *rhead,UINT *s0vect);