/*
   Test.h

   This is a header file used by several programs.
   It contains some #includes, and vector and
   matrix display routines.

   This code is FREELY DISTRIBUTABLE but
   NOT PUBLIC DOMAIN.
   (Written by Randy Finch)
*/

#include <exec/types.h>
#include <proto/exec.h>
#include <math.h>
#include <float.h>
#include <mieeedoub.h>
#include <stdlib.h>
#include <stdio.h>

/*
   Matrix.h contains all the #pragmas created by fd2pragma.
   MatrixProto.h contains all the Matrix.library function prototypes.
*/

#include "Matrix.h"
#include "MatrixProto.h"

struct Library *Matrix;    /* Global Library base pointer */


/*----------------------------------------------------------
      Display routines
------------------------------------------------------------*/

void DisplayLVector(lv,numels)
   LONG *lv, numels;
{
   LONG i;

   printf("\n");
   for (i=0 ; i<numels ; i++) {
      printf("%d\t", lv[i]);
   } /* for i=0  */
   printf("\n");

} /* DisplayLVector */

void DisplayDVector(dv,numels)
   DOUBLE *dv;
   LONG numels;
{
   LONG i;

   printf("\n");
   for (i=0 ; i<numels ; i++) {
      printf("%f\t", dv[i]);
   } /* for i=0  */
   printf("\n");

} /* DisplayDVector */

void DisplayLMatrix(lm, numrows, numcols)
   LONG **lm, numrows, numcols;
{
   LONG i, j;

   printf("\n");
   for (i=0 ; i<numrows ; i++) {
      for (j=0 ; j<numcols ; j++) {
	 printf("%d\t", (lm[i])[j]);
      } /* for j=0 */
      printf("\n");
   } /* for i=0  */

} /* DisplayLMatrix */

void DisplayDMatrix(dm, numrows, numcols)
   DOUBLE **dm;
   LONG numrows, numcols;
{
   LONG i, j;

   printf("\n");
   for (i=0 ; i<numrows ; i++) {
      for (j=0 ; j<numcols ; j++) {
	 printf("%f\t", (dm[i])[j]);
      } /* for j=0 */
      printf("\n");
   } /* for i=0  */

} /* DisplayDMatrix */

