static char *datamatid = "$Id: datamat.h,v 1.2 1996/08/16 23:17:56 galway Exp $";

/* **************************************************************** */
/* 

    datamat.h

    Copyright (C) 2004  Lionel A. Galway

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    For a copy of the GNU General Public License write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA




   This defines two structures:

   datamat is the data matrix, with some ancillary data structures

   nrows, ncols      number of rows and columns
   rowlabs, collabs  arrays of character strings with labels
   data              double array of original data values
   blkind            double array of indicators, showing which elements
                        have a block value
   colvals           an array of categval holding all of column values

   categval    This lists the unique column values for each column
       nvals   The number of unique values
       vals    Array of unique values

       L. Galway  16-AUG-1996

/* **************************************************************** */

struct categval {
  int nvals;
  int *vals;
};

struct datamat {
  int nrows,ncols;
  char **rowlabs,**collabs;
  int **data,
  **blkind;
  struct categval **colvals;
};
