1 /* $Id: pdvec.c,v 1.10 1995/06/07 17:30:43 bsmith Exp $ */ 2 3 #include "matimpl.h" 4 #include <math.h> 5 6 #if !defined(__AIJ_H) 7 #define __AIJ_H 8 9 /* The i[] and j[] arrays start at 1 not zero to support Fortran 77 */ 10 /* In Fortran j[i[k]+p-1] is the pth column in row k */ 11 12 /* 13 singlemalloc indicates that a, i and j where all obtained with 14 one big malloc 15 */ 16 typedef struct { 17 int sorted, roworiented, nonew, singlemalloc,assembled; 18 int m,n; /* rows, columns */ 19 int nz,maxnz,mem; /* nonzeros, allocated nonzeros, memory */ 20 int *diag, /* diagonal elements */ 21 *i,*imax, *ilen, /* j + i[k] - 1 is start of row k */ 22 *j; /* ilen is actual lenght of row */ 23 Scalar *a; 24 IS row,col; 25 Scalar *solve_work; /* work space used in MatSolve_AIJ */ 26 } Mat_AIJ; 27 28 #endif 29