/*-=-=-=-=-=-=-=-=-=-=-=- RCCL/RCI Notice of Copyright -=-=-=-=-=-=-=-=-=-=-*
 *									    *
 *	Copyright (C) 1987, 1991 by John E. Lloyd.			    *
 *									    *
 *	Information on copyright permissions, as well as a complete	    *
 *	disclaimer of warranty, is given in the file COPYRIGHT.		    *
 *									    *
 *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/

typedef struct _matrix {
	int row, col;
	double *buf;
} matrix;

#define ELEMENT(m,i,j)	((m)->buf[(i)*(m)->col+(j)])

/* ---- error conditions from matrix routines ---- */

#define EMatSingular	1	/* matrix is singular to working precision */
#define EMatDivZero	2	/* divide by zero encountered */
#define EMatMemory	3	/* out of memory */

matrix *mallocMatrix();

