home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 May / PCWorld_2002-05_cd.bin / Software / TemaCD / activetcltk / ActiveTcl8.3.4.1-8.win32-ix86.exe / ActiveTcl8.3.4.1-win32-ix86 / include / util / statdist.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-22  |  4.6 KB  |  155 lines

  1. /****************************************************************/
  2. /*                                                              */
  3. /*           FILE: stat_dist.h                                  */
  4. /*           WRITTEN BY: Jonathan G. Fiscus                     */
  5. /*           DATE: April 14 1989                                */
  6. /*                 NATIONAL INSTITUTE OF STANDARDS              */
  7. /*                         AND TECHNOLOGY                       */
  8. /*                    SPEECH RECOGNITION GROUP                  */
  9. /*           USAGE: for definition of the statistical table     */
  10. /*                  structures and macros to access them        */
  11. /*                                                              */
  12. /****************************************************************/
  13.  
  14. /****************************************************************/
  15. /*    test results                        */
  16. /****************************************************************/
  17. #define TEST_DIFF    1
  18. #define NO_DIFF        0
  19.  
  20. /****************************************************************/
  21. /*    Z table lookup defines                                    */
  22. /****************************************************************/
  23.  
  24. #define PER99    0
  25. #define PER98    1
  26. #define PER97    2
  27. #define PER96    3
  28. #define PER95    4
  29. #define PER94    5
  30. #define PER93    6
  31. #define PER92    7
  32. #define PER91    8
  33. #define PER90    9
  34.  
  35. #define MAX_Z_PER    PER99
  36. #define MIN_Z_PER     PER90
  37. #define GEN_Z_PER    PER95
  38.  
  39. /****************************************************************/
  40. /*    chi squared table lookup defines                          */
  41. /****************************************************************/
  42.  
  43. #define PER99    0
  44. #define DF1    0
  45. #define DF2    1
  46. #define DF3    2
  47. #define DF4    3
  48. #define DF5    4
  49. #define DF6    5
  50. #define DF7    6
  51. #define DF8    7
  52. #define DF9    8
  53. #define DF10    9
  54. #define DF11    10
  55. #define DF12    11
  56. #define DF13    12
  57. #define DF14    13
  58. #define DF15    14
  59. #define DF16    15
  60. #define DF17    16
  61. #define DF18    17
  62. #define DF19    18
  63. #define DF20    19
  64. #define DF21    20
  65. #define DF22    21
  66. #define DF23    22
  67. #define DF24    23
  68. #define DF25    24
  69. #define DF26    25
  70. #define DF27    26
  71. #define DF28    27
  72. #define DF29    28
  73. #define DF30    29
  74.  
  75. #define  X2PER99 0
  76. #define  X2PER98 1
  77. #define  X2PER95 2
  78. #define  X2PER90 3
  79. #define  X2PER80 4
  80. #define  X2PER70 5
  81. #define  X2PER50 6
  82. #define  X2PER30 7
  83. #define  X2PER20 8
  84. #define  X2PER10 9 
  85. #define  X2PER5  10
  86. #define  X2PER2  11
  87. #define  X2PER1  12
  88. #define  X2PER_1 13
  89.  
  90. #define MAX_DF DF30
  91. #define MIN_DF DF1
  92. #define MAX_X2_PER X2PER_1
  93. #define MIN_X2_PER X2PER99
  94. #define GEN_X2_PER X2PER5
  95.  
  96. /************************************************************/
  97. /*     Statistical distribution structure definitions       */
  98. /************************************************************/
  99.  
  100. typedef struct Z_struct{
  101.     double z;
  102.     char *str;
  103.     char *exterior_str;
  104.     double perc_interior;
  105. } Z_STRUCT;
  106.  
  107. typedef struct X2_df{
  108.     char *str;
  109.     double  level[MAX_X2_PER+1];
  110. } X2_DF;
  111.     
  112. typedef struct X2_struct{
  113.     char *per_str[MAX_X2_PER+1];
  114.     char *neg_per_str[MAX_X2_PER+1];
  115.     X2_DF df[MAX_DF+1];
  116. } X2_STRUCT;
  117.  
  118. #define Z_score(_strct,_pct)    _strct[_pct].z
  119. #define Z_str(_strct,_pct)    _strct[_pct].str
  120. #define Z_ext_str(_strct,_pct)    _strct[_pct].exterior_str
  121. #define Z_inter(_strct,_pct)    _strct[_pct].perc_interior
  122. #define Z_exter(_strct,_pct)    (1.000000 - Z_inter(_strct,_pct))
  123.  
  124. #define X2_pct_str(_pct)    X2.per_str[_pct]
  125. #define X2_neg_pct_str(_pct)    X2.neg_per_str[_pct]
  126. #define X2_df(_df)        X2.df[_df]
  127. #define X2_df_str(_df)        X2_df(_df).str
  128. #define X2_score(_df,_pct)    X2_df(_df).level[_pct]
  129.  
  130. extern Z_STRUCT Z2tail[];
  131. extern Z_STRUCT Z1tail[];
  132. extern X2_STRUCT X2;
  133.  
  134. #define SILENT            FALSE
  135. #define VERBOSE            TRUE
  136.  
  137. #define DEFAULT_MIN_NUM_GOOD    2
  138.  
  139. #if defined(__STDC__) || defined(__GNUC__) || defined(sgi)
  140. #define PROTO(ARGS)    ARGS
  141. #else
  142. #define PROTO(ARGS)    ()
  143. #endif
  144.  
  145. /* statdist.c */ void dump_X2_table PROTO((void)) ;
  146. /* statdist.c */ void calc_mean_var_std_dev_Zstat PROTO((int *Z_list, int num_Z, double *mean, double *variance, double *std_dev, double *Z_stat)) ;
  147. /* statdist.c */ void calc_mean_var_std_dev_Zstat_double PROTO((double *Z_list, int num_Z, double *mean, double *variance, double *std_dev, double *Z_stat)) ;
  148. /* statdist.c */ void calc_mean_var_std_dev_Zstat_double PROTO((double *Z_list, int num_Z, double *mean, double *variance, double *std_dev, double *Z_stat));
  149. /* statdist.c */ int print_Z_analysis PROTO((double Z_stat)) ;
  150. /* statdist.c */ int Z_pass PROTO((double Z_stat)) ;
  151. /* statdist.c */ void calc_two_sample_z_test_double PROTO((double *l1, double *l2, int num_l1, int num_l2, double *Z)) ;
  152. /* statdist.c */ double compute_acc_binomial PROTO((int R, int n, double p)) ;
  153. /* statdist.c */ double seq_mult PROTO((int f, int )) ;
  154. /* statdist.c */ double n_CHOOSE_r PROTO((int n, int r)) ;
  155.