version 1.24, 2009/02/11 03:04:42 |
version 1.30, 2013/11/05 11:36:58 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.23 2009/02/09 10:21:29 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.29 2013/09/26 00:38:47 noro Exp $ */ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
#include "ox.h" |
#include "ox.h" |
|
|
#include <time.h> |
#include <time.h> |
|
|
#if defined(__GNUC__) |
#if defined(__GNUC__) |
#define INLINE inline |
#define INLINE static inline |
#elif defined(VISUAL) |
#elif defined(VISUAL) |
#define INLINE __inline |
#define INLINE __inline |
#else |
#else |
Line 131 extern ND_pairs _ndp_free_list; |
|
Line 131 extern ND_pairs _ndp_free_list; |
|
extern struct order_spec *dp_current_spec; |
extern struct order_spec *dp_current_spec; |
extern char *Demand; |
extern char *Demand; |
extern VL CO; |
extern VL CO; |
extern int Top,Reverse,DP_Print,dp_nelim,do_weyl,NoSugar,GenTrace,GenSyz; |
extern int Top,Reverse,DP_Print,dp_nelim,do_weyl,NoSugar; |
extern int *current_weyl_weight_vector; |
extern int *current_weyl_weight_vector; |
extern int *current_module_weight_vector; |
extern int *current_module_weight_vector; |
|
|
Line 256 int crit_2( int dp1, int dp2 ); |
|
Line 256 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); |
|
|
/* top level functions */ |
/* top level functions */ |
void nd_gr(LIST f,LIST v,int m,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); |
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 **indp); |
NODE nd_gb(int m,int ishomo,int checkonly,int gensyz,int **indp); |
NODE nd_gb(int m,int ishomo,int checkonly,int gensyz,int **indp); |
Line 309 void ndp_print(ND_pairs d); |
|
Line 309 void ndp_print(ND_pairs d); |
|
/* setup, reconstruct */ |
/* setup, reconstruct */ |
void nd_init_ord(struct order_spec *spec); |
void nd_init_ord(struct order_spec *spec); |
ND_pairs nd_reconstruct(int trace,ND_pairs ndp); |
ND_pairs nd_reconstruct(int trace,ND_pairs ndp); |
void ndv_setup(int mod,int trace,NODE f,int dont_sort,int dont_removecont); |
int ndv_setup(int mod,int trace,NODE f,int dont_sort,int dont_removecont); |
void nd_setup_parameters(int nvar,int max); |
void nd_setup_parameters(int nvar,int max); |
BlockMask nd_create_blockmask(struct order_spec *ord); |
BlockMask nd_create_blockmask(struct order_spec *ord); |
EPOS nd_create_epos(struct order_spec *ord); |
EPOS nd_create_epos(struct order_spec *ord); |
Line 325 void nd_mul_c_q(ND p,P mul); |
|
Line 325 void nd_mul_c_q(ND p,P mul); |
|
void nd_mul_c_p(VL vl,ND p,P mul); |
void nd_mul_c_p(VL vl,ND p,P mul); |
ND nd_remove_head(ND p); |
ND nd_remove_head(ND p); |
ND nd_separate_head(ND p,ND *head); |
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); |
void nd_append_red(UINT *d,int i); |
UINT *ndv_compute_bound(NDV p); |
UINT *ndv_compute_bound(NDV p); |
UINT *nd_compute_bound(ND p); |
UINT *nd_compute_bound(ND p); |
Line 369 P ndvtop(int mod,VL vl,VL dvl,NDV p); |
|
Line 369 P ndvtop(int mod,VL vl,VL dvl,NDV p); |
|
NDV ndtondv(int mod,ND p); |
NDV ndtondv(int mod,ND p); |
ND ndvtond(int mod,NDV p); |
ND ndvtond(int mod,NDV p); |
Q *nm_ind_pair_to_vect(int m,UINT *s0,int n,NM_ind_pair pair); |
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(int mod,UINT *s0,int n,ND d,UINT *r); |
int nd_to_vect_q(UINT *s0,int n,ND d,Q *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); |
NDV vect_to_ndv_q(Q *vect,int spcol,int col,int *rhead,UINT *s0vect); |