Blame view
tools/sctk-2.4.10/src/sclite/rank.h
4.89 KB
8dcb6dfcb first commit |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
/**********************************************************************/ /* */ /* FILE: rank.h */ /* WRITTEN BY: Jonathan G. Fiscus */ /* NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY */ /* SPEECH RECOGNITION GROUP */ /* */ /* USAGE: for definition of the RANK structure and */ /* all it's macros for appropriate access */ /* */ /**********************************************************************/ /**********************************************************************/ /* sizes of the rank structure */ #define MAX_BLOCKS 60 #define MAX_TREATMENTS 60 #define FOR_BLOCKS TRUE #define FOR_TREATMENTS FALSE /**********************************************************************/ /* command line values to change the means of calculating percentages*/ #define PER_CORR_REC 'R' #define TOTAL_ERROR 'E' #define WORD_ACCURACY 'W' #define CORR_REC_STR "Speaker Percent Correctly Recognized" #define TOT_ERR_STR "Speaker Word Error Rate (%)" #define WORD_ACC_STR "Speaker Word Accuracy Rate (%)" /**********************************************************************/ /* typedef for the RANK structure */ typedef struct rank_struct{ int n_blk; /* number of blocks */ int n_trt; /* number of treatments */ char **blk_name; /* string names of blocks */ int *blk_srt_ind; /* indexes that to blocks to sort them */ double **blk_ranks; /* 2DIM array for ranks for blocks over trts */ double *blk_Ovr_ranks; /* ranks after ANOVAR */ char **trt_name; /* string names of treatments */ double *trt_Ovr_ranks; /* ranks after ANOVAR */ double **trt_ranks; /* 2DIM array for ranks for trts over blocks */ double **pcts; /* the actual percentages for trts and blks */ int *trt_srt_ind; /* indexes that sorts trts into orders */ } RANK; void init_RANK_struct_from_SCORES(RANK *rank, SCORES *scor[], int nscor, char *calc_formula); void free_RANK(RANK *rank); void rank_on_pcts(RANK *rank, int ordering); void dump_full_RANK_struct(RANK *rank, char *t_name, char *b_name, char *blk_label, char *trt_label, char *formula_str, char *test_name, char *blk_desc, char *trt_desc); void print_n_winner_comp_matrix(RANK *rank, int ***wins, char **win_ids, int win_cnt, int page_width,FILE *fp); void print_composite_significance(RANK *rank, int pr_width, int num_win, int ***wins, char **win_desc, char **win_str1, int matrix, int report, char *test_name, char *outroot, int feedback, char *outdir); void print_composite_significance2(RANK *rank, int pr_width, int num_win, int ***wins, double ***conf, char **win_desc, char **win_str, int matrix, int report, char *test_name, char *outroot, int feedback, char *outdir); void print_n_winner_comp_report(RANK *rank, int ***wins, char **win_ids, char **win_str, char **win_desc, int win_cnt, int page_width, char *testname, char *outdir); int formula_index(char *str); char *formula_str(char *str); void print_rank_ranges(RANK *rank, char *percent_desc, char *testname, char *outroot, int); void print_gnu_rank_ranges(RANK *rank, char *percent_desc, char *testname,char *basename, int); void print_gnu_rank_ranges2(RANK *rank, char *percent_desc, char *testname,char *basename, int); void print_trt_comp_matrix_for_RANK_one_winner(int **winner, RANK *rank, char *title, char *formula_str, char *block_id, FILE *fp); /**********************************************************************/ /* RANK structure access macros */ #define rnk_blks(_r) _r->n_blk #define rnk_trt(_r) _r->n_trt #define rnk_t_rank(_r) _r->trt_ranks #define rnk_t_rank_arr(_r,_n) rnk_t_rank(_r)[_n] #define Vrnk_t_rank(_r,_b,_t) rnk_t_rank(_r)[_b][_t] #define rnk_b_rank(_r) _r->blk_ranks #define rnk_b_rank_arr(_r,_n) rnk_b_rank[_n] #define Vrnk_b_rank(_r,_b,_t) rnk_b_rank(_r)[_b][_t] #define rnk_pcts(_r) _r->pcts #define rnk_pcts_arr(_r,_n) _r->pcts[_n] #define Vrnk_pcts(_r,_b,_t) rnk_pcts(_r)[_b][_t] #define rnk_b_name(_r) _r->blk_name #define Vrnk_b_name(_r,_b) rnk_b_name(_r)[_b] #define rnk_t_name(_r) _r->trt_name #define Vrnk_t_name(_r,_t) rnk_t_name(_r)[_t] #define ovr_t_rank(_r) _r->trt_Ovr_ranks #define Vovr_t_rank(_r,_t) ovr_t_rank(_r)[_t] #define ovr_b_rank(_r) _r->blk_Ovr_ranks #define Vovr_b_rank(_r,_b) ovr_t_rank(_r)[_b] #define srt_t_rank(_r) _r->blk_srt_ind #define Vsrt_t_rank(_r,_t) srt_t_rank(_r)[_t] #define srt_b_rank(_r) _r->trt_srt_ind #define Vsrt_b_rank(_r,_b) srt_b_rank(_r)[_b] |