1b8a66259SBarry Smith 2b8a66259SBarry Smith #include "matimpl.h" 3b8a66259SBarry Smith #include "math.h" 4b8a66259SBarry Smith 52d40f771SBarry Smith #if !defined(__AIJ_H) 62d40f771SBarry Smith #define __AIJ_H 72d40f771SBarry Smith 82d40f771SBarry Smith /* The i[] and j[] arrays start at 1 not zero to support Fortran 77 */ 92d40f771SBarry Smith /* In Fortran j[i[k]+p-1] is the pth column in row k */ 102d40f771SBarry Smith 112d40f771SBarry Smith /* 122d40f771SBarry Smith singlemalloc indicates that a, i and j where all obtained with 132d40f771SBarry Smith one big malloc 142d40f771SBarry Smith */ 15b8a66259SBarry Smith typedef struct { 16a0a613f7SBarry Smith int sorted, roworiented, nonew, singlemalloc,assembled; 171a1c3055SLois Curfman McInnes int m,n; /* rows, columns */ 181a1c3055SLois Curfman McInnes int nz,maxnz,mem; /* nonzeros, allocated nonzeros, memory */ 191a1c3055SLois Curfman McInnes int *diag, /* diagonal elements */ 202d40f771SBarry Smith *i,*imax, *ilen, /* j + i[k] - 1 is start of row k */ 21b8a66259SBarry Smith *j; /* ilen is actual lenght of row */ 222d40f771SBarry Smith Scalar *a; 23*00cb8706SBarry Smith IS row,col; 241fb19edaSLois Curfman McInnes } Mat_AIJ; 25b8a66259SBarry Smith 262d40f771SBarry Smith #endif 27