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