void chfact(double **A, int p); void cprod(double **A, double *b, int m, int n, double *x); double f_max(double *x, int n); double f_min(double *x, int n); void freemem(int ndim, ...); void ifreemem(int ndim, ...); int fwhich_min(double *x, int n); double inprod(double *v1, double *v2, int d); double int_simp(double *f, double h, int n); double int_romberg(double *f); double int_trape(double *f); double ldexgam(double x,double shape,double scale); double norm2(double *vec, int len); double pexgam(double x,double shape,double scale); double qexgam(double p,double shape,double scale); void quadsolve(double a, double b, double c, double *x, int get_both); int rdisc(int n,double *prob,int islog); void r_simple_dirichlet(double *x, int k, double *shape); double rexgam(double shape, double scale); void rperm(int size, int *samp, int n); void Rprintvec(char *a, double *x, int len); void Rprintveci(char *a, int *x, int len); void Rprintmat(char *a, double **m, int d1, int d2, int iscol); void Rprintmati(char *a, int **m, int d1, int d2, int iscol); void *setmem(int ndim, ...); void *isetmem(int ndim, ...); double sigmoid(double x); double sigmoid2(double x); double sum(double *x, int n); double sumlog(double *x, int n); void swap(double *x, int i, int j); double ss(double *vec, int len); void transpose(double **A, int m, int n, double **B); void Uprod(double **A, int n, double *x, double *b, int transpose); void Usolve(double **A, int p, double *b, double *x, int transpose); double trace(double **a, int n, int is_log); double fracf(double x); double fold(double x); double logadd(double lx, double ly); int order, *twopow, grid_len; double grid_incr;