1 /* esl_gev.h
2  * Generalized extreme value (GEV) distributions.
3  *
4  * SRE, Tue Jul 12 09:15:56 2005
5  */
6 #ifndef eslGEV_INCLUDED
7 #define eslGEV_INCLUDED
8 #include "esl_config.h"
9 
10 #include "esl_random.h"
11 
12 
13 extern double esl_gev_pdf    (double x, double mu, double lambda, double alpha);
14 extern double esl_gev_logpdf (double x, double mu, double lambda, double alpha);
15 extern double esl_gev_cdf    (double x, double mu, double lambda, double alpha);
16 extern double esl_gev_logcdf (double x, double mu, double lambda, double alpha);
17 extern double esl_gev_surv   (double x, double mu, double lambda, double alpha);
18 extern double esl_gev_logsurv(double x, double mu, double lambda, double alpha);
19 extern double esl_gev_invcdf (double p, double mu, double lambda, double alpha);
20 
21 extern double esl_gev_generic_pdf   (double x, void *params);
22 extern double esl_gev_generic_cdf   (double x, void *params);
23 extern double esl_gev_generic_surv  (double x, void *params);
24 extern double esl_gev_generic_invcdf(double p, void *params);
25 
26 extern int    esl_gev_Plot(FILE *fp, double mu, double lambda, double alpha,
27 			   double (*func)(double x, double mu, double lambda, double alpha),
28 			   double xmin, double xmax, double xstep);
29 
30 
31 
32 extern double esl_gev_Sample(ESL_RANDOMNESS *r, double mu, double lambda, double alpha);
33 
34 extern int esl_gev_FitComplete(double *x, int n,
35 			       double *ret_mu, double *ret_lambda,
36 			       double *ret_alpha);
37 extern int esl_gev_FitCensored(double *x, int n, int z, double phi,
38 			       double *ret_mu, double *ret_lambda,
39 			       double *ret_alpha);
40 
41 
42 #endif /*eslGEV_INCLUDED*/
43 
44