#define PI 3.14159265358979323846 #define ERREXIT 1 #define ERRNAN 101 #define ERRNPD 102 #define ERRSING 104 #define ERRSOB 110 #define ERRNCM 111 #ifndef ABS #define ABS(a) (((a) < 0) ? -(a) : (a)) #endif #ifndef MIN #define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #ifndef MAX #define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif double beta(double alpha, double beta); double besselK(double x, double alpha, bool scale = false); void besselK(double *x, double *alpha, long *nb, bool *ize, double *bk, long *ncalc); double dnorm(double x, double mean = 0.0, double sd = 1.0); void error(char foo[], char message[], int errno); int finit(char *infile, char *name, unsigned short int *target, int n); int finit(char *infile, char *name, int *target, int n); int finit(char *infile, char *name, double *target, int n); double haversine(double lat1, double lon1, double lat2, double lon2); double lgamma(double alpha); double matern(double x, int n, double theta); double pnorm(double x, double mean = 0.0, double sd = 1.0); double rbeta(double alpha, double beta); double rgamma(double alpha, double beta = 1.0); double rnorm(double mean = 0.0, double sd = 1.0); double rtnorm(double mean, double sd, double a, double b, bool ainf = false, bool binf = false); double trunc(double x); double exprej(double c1, double c2); double halfline(double a, double b, bool *lflipptr, bool binf); double halfnorm(double c1, double c2); double normrej(double c1, double c2); double unifrej(double c1, double c2, double f); double zkernel(double x);