version 1.21, 2009/01/07 05:33:18 |
version 1.29, 2013/09/26 00:38:47 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.20 2009/01/05 02:08:18 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.h,v 1.28 2012/08/27 05:38:00 noro Exp $ */ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
#include "ox.h" |
#include "ox.h" |
Line 116 typedef struct oIndArray |
|
Line 116 typedef struct oIndArray |
|
} index; |
} index; |
} *IndArray; |
} *IndArray; |
|
|
|
typedef struct oNDVI { |
|
NDV p; |
|
int i; |
|
} *NDVI; |
|
|
extern int (*ndl_compare_function)(UINT *a1,UINT *a2); |
extern int (*ndl_compare_function)(UINT *a1,UINT *a2); |
extern int nd_dcomp; |
extern int nd_dcomp; |
|
|
Line 134 extern int *current_module_weight_vector; |
|
Line 139 extern int *current_module_weight_vector; |
|
#define TD(d) (d[0]) |
#define TD(d) (d[0]) |
#define HDL(d) ((d)->body->dl) |
#define HDL(d) ((d)->body->dl) |
#define HTD(d) (TD(HDL(d))) |
#define HTD(d) (TD(HDL(d))) |
|
#define HCU(d) ((d)->body->c) |
#define HCM(d) ((d)->body->c.m) |
#define HCM(d) ((d)->body->c.m) |
#define HCQ(d) ((d)->body->c.z) |
#define HCQ(d) ((d)->body->c.z) |
#define HCP(d) ((d)->body->c.p) |
#define HCP(d) ((d)->body->c.p) |
Line 241 ND_pairs nd_newpairs( NODE g, int t ); |
|
Line 247 ND_pairs nd_newpairs( NODE g, int t ); |
|
ND_pairs nd_minp( ND_pairs d, ND_pairs *prest ); |
ND_pairs nd_minp( ND_pairs d, ND_pairs *prest ); |
ND_pairs nd_minsugarp( ND_pairs d, ND_pairs *prest ); |
ND_pairs nd_minsugarp( ND_pairs d, ND_pairs *prest ); |
NODE update_base(NODE nd,int ndp); |
NODE update_base(NODE nd,int ndp); |
ND_pairs update_pairs( ND_pairs d, NODE /* of index */ g, int t); |
ND_pairs update_pairs( ND_pairs d, NODE /* of index */ g, int t, int gensyz); |
ND_pairs equivalent_pairs( ND_pairs d1, ND_pairs *prest ); |
ND_pairs equivalent_pairs( ND_pairs d1, ND_pairs *prest ); |
ND_pairs crit_B( ND_pairs d, int s ); |
ND_pairs crit_B( ND_pairs d, int s ); |
ND_pairs crit_M( ND_pairs d1 ); |
ND_pairs crit_M( ND_pairs d1 ); |
Line 250 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); |
NODE nd_f4(int m,int **indp); |
NODE nd_gb(int m,int ishomo,int checkonly); |
NODE nd_gb(int m,int ishomo,int checkonly,int gensyz,int **indp); |
NODE nd_gb_trace(int m,int ishomo); |
NODE nd_gb_trace(int m,int ishomo,int **indp); |
NODE nd_f4_trace(int m); |
NODE nd_f4_trace(int m,int **indp); |
|
|
/* ndl functions */ |
/* ndl functions */ |
int ndl_weight(UINT *d); |
int ndl_weight(UINT *d); |
Line 283 int nd_nf(int mod,ND d,ND g,NDV *ps,int full,NDC dn,ND |
|
Line 289 int nd_nf(int mod,ND d,ND g,NDV *ps,int full,NDC dn,ND |
|
int nd_nf_pbucket(int mod,ND g,NDV *ps,int full,ND *nf); |
int nd_nf_pbucket(int mod,ND g,NDV *ps,int full,ND *nf); |
|
|
/* finalizers */ |
/* finalizers */ |
NODE ndv_reducebase(NODE x); |
NODE ndv_reducebase(NODE x,int *perm); |
NODE ndv_reduceall(int m,NODE f); |
NODE ndv_reduceall(int m,NODE f); |
|
|
/* allocators */ |
/* allocators */ |
Line 303 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 313 NDV ndv_dup(int mod,NDV p); |
|
Line 319 NDV ndv_dup(int mod,NDV p); |
|
ND nd_dup(ND p); |
ND nd_dup(ND p); |
|
|
/* ND functions */ |
/* ND functions */ |
int ndv_check_candidate(NODE input,int obpe,int oadv,EPOS oepos,NODE cand); |
int ndv_check_membership(int m,NODE input,int obpe,int oadv,EPOS oepos,NODE cand); |
void nd_mul_c(int mod,ND p,int mul); |
void nd_mul_c(int mod,ND p,int mul); |
void nd_mul_c_q(ND p,P mul); |
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); |
Line 363 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); |