search for: r_log_dbeta

Displaying 2 results from an estimated 2 matches for "r_log_dbeta".

2000 Aug 26
0
Re: [R] too large alpha or beta in dbeta ? (PR#643)
..../gammalims.c */ + +#else + static double xmax = 0; double xmin; + if (xmax == 0) + gammalims(&xmin, &xmax); #endif + if (a <= 0 || b <= 0) ML_ERR_return_NAN; if (x < 0 || x > 1) @@ -35,10 +43,13 @@ if (x < 0 || x > 1) return R_D__0; + +#define R_LOG_DBETA log(x)*(a - 1) + log(1 - x)*(b - 1) - lbeta(a, b) - if(give_log) { - return log(x)*(a - 1) + log(1 - x)*(b - 1) - lbeta(a, b); - } + if(give_log) + return R_LOG_DBETA; + else if (a + b >= xmax) /* beta(a,b) might be = 0 numerically */ + return exp(R_LOG_DBETA); else { double...
2000 Aug 28
0
Re: [R] too large alpha or beta in dbeta ? (PR#643)
..../gammalims.c */ + +#else + static double xmax = 0; double xmin; + if (xmax == 0) + gammalims(&xmin, &xmax); #endif + if (a <= 0 || b <= 0) ML_ERR_return_NAN; if (x < 0 || x > 1) @@ -35,10 +43,13 @@ if (x < 0 || x > 1) return R_D__0; + +#define R_LOG_DBETA log(x)*(a - 1) + log(1 - x)*(b - 1) - lbeta(a, b) - if(give_log) { - return log(x)*(a - 1) + log(1 - x)*(b - 1) - lbeta(a, b); - } + if(give_log) + return R_LOG_DBETA; + else if (a + b >= xmax) /* beta(a,b) might be = 0 numerically */ + return exp(R_LOG_DBETA); else { double...