예제 #1
0
inline double dcdflib_beta_quantile(double p, double a, double b)
{
   int what = 2;
   int status = 0;
   double x, y, bound, q(1 - p);
   cdfbet(&what, &p, &q, &x, &y, &a, &b, &status, &bound);
   return x;
}
예제 #2
0
inline double dcdflib_beta_cdf(double x, double a, double b)
{
   int what = 1;
   int status = 0;
   double p, q, bound, y(1-x);
   cdfbet(&what, &p, &q, &x, &y, &a, &b, &status, &bound);
   return p;
}
예제 #3
0
파일: vec_cdf.c 프로젝트: rforge/specfun
void V_cdfbet(int *which, double *p, double *q, double *x, double *y,
	      double *a, double *b, int *status, double *bound, int *len)
{
    int i;
    for (i = 0; i < *len; i++) {
	cdfbet((int *)which, &p[i], &q[i], &x[i], &y[i],
	       &a[i], &b[i], (int *)&status[i], &bound[i]);
    }
}
예제 #4
0
파일: cdf.c 프로젝트: Johnicholas/simulua
static int cdf_pbeta (lua_State *L) {
  /* stack should contain x, a and b */
  lua_Number x = luaL_checknumber(L, 1);
  lua_Number a = luaL_checknumber(L, 2);
  lua_Number b = luaL_checknumber(L, 3);
  lua_Number p, q, y, bound;
  int which = 1;
  int status;
  check_beta(L, 1, x, a, b);
  y = 1-x;
  cdfbet(&which, &p, &q, &x, &y, &a, &b, &status, &bound);
  check_status(status, bound);
  lua_pushnumber(L, p);
  return 1;
}
예제 #5
0
파일: cdf.c 프로젝트: Johnicholas/simulua
static int cdf_qbeta (lua_State *L) {
  /* stack should contain x, a and b */
  lua_Number p = luaL_checknumber(L, 1);
  lua_Number a = luaL_checknumber(L, 2);
  lua_Number b = luaL_checknumber(L, 3);
  lua_Number x;
  check_beta(L, 2, p, a, b);
  if (p==0 || p==1) x = p;
  else {
    lua_Number q, y, bound;
    int which = 2;
    int status;
    q = 1-p;
    cdfbet(&which, &p, &q, &x, &y, &a, &b, &status, &bound);
    check_status(status, bound);
  }
  lua_pushnumber(L, x);
  return 1;
}