1 /* 2 matrix_st.h -- The `matrix' structure. 3 4 Copyright (C) 1994-95 K. Scott Hunziker. 5 Copyright (C) 1990-94 The Boeing Company. 6 7 See the file COPYING for license, warranty, and permission details. 8 */ 9 10 /* $Id: matrix_st.h,v 1.1.1.1 1996/04/17 05:56:19 ksh Exp $ */ 11 12 #ifndef MATRIX_ST_H 13 #define MATRIX_ST_H 1 14 15 #include "entity.h" 16 17 struct matrix 18 { 19 ENTITY entity; 20 SYMMETRY symmetry; 21 TYPE type; 22 ORDER order; 23 DENSITY density; 24 ENTITY *rid; 25 ENTITY *cid; 26 int nr; /* number of rows */ 27 int nc; /* number of columns */ 28 int nn; /* number of nonzero elements */ 29 int *ia; /* integer vector of length nr+1 */ 30 int *ja; /* integer vector of length nn */ 31 TABLE *stuff; 32 VAL_PTR a; /* numeric/character components */ 33 VAL_PTR d; /* diagonal values (sparse_upper) */ 34 }; 35 36 /* 37 * Each member of the MATRIX structure 38 * has a corresponding member in this 39 * enumeration. `END_Matrix' marks 40 * the end of the enumeration. 41 */ 42 43 typedef enum 44 { 45 MatrixClass, 46 MatrixType, 47 MatrixSymmetry, 48 MatrixOrder, 49 MatrixDensity, 50 MatrixRid, 51 MatrixCid, 52 MatrixNr, 53 MatrixNc, 54 MatrixNn, 55 END_Matrix 56 } 57 MATRIX_MEMBER; 58 59 #endif /* MATRIX_ST_H */ 60