1 /* 2 * gretl -- Gnu Regression, Econometrics and Time-series Library 3 * Copyright (C) 2001 Allin Cottrell and Riccardo "Jack" Lucchetti 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #ifndef PVALUES_H 21 #define PVALUES_H 22 23 typedef enum { 24 D_NONE = 0, 25 D_UNIFORM, 26 D_UDISCRT, 27 D_NORMAL, 28 D_STUDENT, 29 D_CHISQ, 30 D_SNEDECOR, 31 D_BINOMIAL, 32 D_POISSON, 33 D_EXPON, 34 D_WEIBULL, 35 D_GAMMA, 36 D_GED, 37 D_LAPLACE, 38 D_BETA, 39 D_DW, 40 D_BINORM, 41 D_JOHANSEN, 42 D_BETABIN, 43 D_NC_CHISQ, 44 D_NC_F, 45 D_NC_T, 46 D_LOGISTIC 47 } DistCode; 48 49 double gammafun (double x); 50 51 double lngamma (double x); 52 53 double digamma (double x); 54 55 double trigamma (double x); 56 57 double hypergeo (double a, double b, double c, double x); 58 59 double beta_cdf (double a, double b, double x); 60 61 double binomial_cdf (double p, int n, int k); 62 63 double binomial_cdf_comp (double p, int n, int k); 64 65 double binomial_pmf (double p, int n, int k); 66 67 double poisson_pmf (double lambda, int k); 68 69 double x_factorial (double x); 70 71 double log_x_factorial (double x); 72 73 double normal_pvalue_2 (double x); 74 75 double normal_pvalue_1 (double x); 76 77 double student_pvalue_2 (double df, double x); 78 79 double student_pvalue_1 (double df, double x); 80 81 double chisq_cdf (double df, double x); 82 83 double chisq_cdf_comp (double df, double x); 84 85 double nc_chisq_cdf (double df, double delta, double x); 86 87 double snedecor_cdf (double dfn, double dfd, double x); 88 89 double snedecor_cdf_comp (double dfn, double dfd, double x); 90 91 double snedecor_critval (double dfn, double dfd, double a); 92 93 double nc_snedecor_cdf (double dfn, double dfd, double delta, double x); 94 95 double normal_cdf (double x); 96 97 double normal_cdf_inverse (double x); 98 99 double normal_cdf_comp (double x); 100 101 double student_cdf (double df, double x); 102 103 double student_cdf_inverse (double df, double a); 104 105 double nc_student_cdf (double df, double delta, double x); 106 107 double nc_student_pdf (double df, double delta, double x); 108 109 double normal_pdf (double x); 110 111 double normal_critval (double a); 112 113 double student_critval (double df, double a); 114 115 double log_normal_pdf (double x); 116 117 double gamma_cdf (double s1, double s2, double x, int control); 118 119 double gamma_cdf_comp (double s1, double s2, double x, int control); 120 121 double gamma_cdf_inverse (double shape, double scale, double p); 122 123 double GED_pdf (double nu, double x); 124 125 double GED_cdf (double nu, double x); 126 127 double GED_cdf_comp (double nu, double x); 128 129 double GED_cdf_inverse (double nu, double a); 130 131 double laplace_pdf (double mu, double b, double x); 132 133 double laplace_cdf (double mu, double b, double x); 134 135 double laplace_cdf_comp (double mu, double b, double x); 136 137 double laplace_cdf_inverse (double mu, double b, double a); 138 139 double tcrit95 (int df); 140 141 double rhocrit95 (int n); 142 143 double cephes_gamma (double x); 144 145 double cephes_lgamma (double x); 146 147 double gretl_get_pvalue (int dist, const double *parm, double x); 148 149 double gretl_get_pdf (int dist, const double *parm, double x); 150 151 int gretl_fill_pdf_array (int dist, const double *parm, double *x, int n); 152 153 double gretl_get_cdf (int dist, const double *parm, double x); 154 155 double gretl_get_cdf_inverse (int dist, const double *parm, double a); 156 157 double gretl_get_critval (int dist, const double *parm, double a); 158 159 int gretl_fill_random_series (double *x, int dist, 160 const double *parm, 161 const double *vecp1, 162 const double *vecp2, 163 const DATASET *dset); 164 165 gretl_matrix *gretl_get_random_matrix (int dist, 166 const double *parm, 167 const double *vecp1, 168 const double *vecp2, 169 int rows, int cols, 170 int *err); 171 172 double gretl_get_random_scalar (int dist, const double *parm, 173 int *err); 174 175 int batch_pvalue (const char *str, DATASET *dset, PRN *prn); 176 177 void print_pvalue (int dist, const double *parm, double x, double pv, PRN *prn); 178 179 void print_critval (int dist, const double *parm, double a, double c, PRN *prn); 180 181 gretl_matrix *gretl_get_DW (int n, int k, int *err); 182 183 int dist_code_from_string (const char *s); 184 185 #endif /* PVALUES_H */ 186