Esempio n. 1
0
/* if distributions are added here, the parameters they expected
   must be listed in interface.R */
double logdist(double x, char* distribution, vec_double* params){
    double out = 1.;
    if (!strcmp(distribution, "flat")) {
        out = gsl_ran_flat_pdf(x, params->values[0], params->values[1]);
    } else if (!strcmp(distribution, "gaussian")) {
        out = gsl_ran_gaussian_pdf(x - params->values[0], params->values[1]);
    } else if (!strcmp(distribution, "lognormal")) {
        out = gsl_ran_lognormal_pdf(x, params->values[0], params->values[1]);
    } else if (!strcmp(distribution, "beta")) {
        out = gsl_ran_beta_pdf(x, params->values[0], params->values[1]);
    } else if (!strcmp(distribution, "exponential")) {
        out = gsl_ran_exponential_pdf(x, params->values[0]);
    }
    out = log(out);
    filter_logprob(&out); 
    return(out);
}
Esempio n. 2
0
double
lognormal (double x, void *p)
{
  double * c = (double *)p;
  return gsl_ran_lognormal_pdf (x, c[0], c[1]);
}
Esempio n. 3
0
double
test_lognormal_pdf (double x)
{
  return gsl_ran_lognormal_pdf (x, 2.7, 1.3);
}