/* SIMPSTEST.H */
/*-
defines, includes, structures, externals
specifically for the <simpStest()> front end

J.A. Rupley, Tucson, Arizona
rupley!local@cs.arizona.edu
*/

#include <stdio.h>
#include <math.h>
#include <ctype.h>

#define ERROR		-1
#define OK		0
#define TRUE		1
#define FALSE		0

#define MAX(X,Y)	((X) >  (Y) ?  (X) : (Y))
#define MIN(X,Y)	((X) <= (Y) ?  (X) : (Y))
#define ABS(X)		((X) <   0  ? -(X) : (X))

#define NPARM		20	/* limit no. parms in pstruct */
#define NVERT		(NPARM + 1)

#define SILENT		0	/* verbosity levels, for output control */
#define NEAR_SILENT	1
#define SLIGHTLY	2
#define VERY		3

struct pstruct {
	double          val;
	double          parm[NPARM];
};
struct qstruct {
	int             parmndx[NPARM];
	double          q[NPARM];
	double          yplus[NPARM];
	double          yminus[NPARM];
	double          a[NPARM];
	double          bdiag[NPARM];
	double          inv_bdiag[NPARM];
	double          std_dev[NPARM];
};

#define NDATVAL		20	/* limit no. indep. variables = NDATVAL - 3 */
#define NDATA		10000	/* limit no. data pts */

struct dat {
	double          datval[NDATVAL];
};

struct dat      data[NDATA];

double          bounds[2][NPARM];
/* int             ndatval; */
/* int ndata ; */
char            title[BUFSIZ];
