📄 gad.h
字号:
/* GAd.h Gallager "A" Belief Network Decoder for the problem A x = z *//* Control parameters */typedef struct { /* GAd_control */#include "GAd_var_str.h" int verbose ;} GAd_control ;typedef struct { /* GAd_param */ /* The sizes of everything. */ int M ; /* number of rows in the matrix A */ int N ; /* number of columns in A */ int m , n ; /* used to keep track of which row / column we are up to during complex optimizations */ /* The matrix A is represented in a list structure */ alist_matrix *a ; /* unlike in fe.* , this is a pointer */ int *bias ; /* the prior on the s vector */ /********* needs setting! */ unsigned char *z ; unsigned char *xo ; /* decoded x */ unsigned char *t ; /* current value of Ax */unsigned char *q1 ; /* the pseudoposterior */int **pc1 ; /* probabilities contributed from each relationship pc0[1..N][1..umax] */ int *qc1 ; /* probabilities contributed by each bit to each relationship qc0[1..umax] */ unsigned char **dqc ; /* vote for 1 vs 0 */ int *qt1 ; /* product of probabilities from top relationship qt0[1..N][1..umax] */ int *qb1 ; /* and from bottom */ unsigned char **dpf , **dpr ; /* forward and reverse probabilities within each relationship dpf[1..M][0..lmax+1] */ unsigned char *x ; /* the true binary state vector x[n] */ int count ; /* count of number of differences between the state and the true answer */ int count_high ; /* number of high bits in the s vector */ int count_s ; /* number of high bits in the true s vector */ int true_s ; /* whether the true s is supplied */ double v ; /* the score of the final state relative to the truth */ int count_viol ; /* number of checks z that aren't coming out right */ int not_decoded ; GAd_control *c ; } GAd_param;/* memory and so forth */void GAd_allocate ( GAd_param * , GAd_control * ) ;void GAd_free ( GAd_param * , GAd_control * ) ;void GAd_defaults ( GAd_param * , GAd_control * ) ;void GAd_load_dqc ( GAd_param *p , GAd_control *c ) ;void GAd_fprint_state ( GAd_param *p , GAd_control *c ) ;void GAd_write_state ( GAd_param *p , GAd_control *c ) ;/* the main routine */int GAdecode ( GAd_param * , GAd_control * ) ;void GAd_score_state ( GAd_param *p ) ;void GAhorizontal_pass ( GAd_param *p ) ;void GAvertical_pass ( GAd_param *p , GAd_control *c ) ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -