xref: /petsc/src/mat/impls/aij/seq/aij.h (revision 1a1c3055e39960ddd5be88fa64b91363f9758407)
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;
17*1a1c3055SLois Curfman McInnes   int    m,n;                    /* rows, columns */
18*1a1c3055SLois Curfman McInnes   int    nz,maxnz,mem;           /* nonzeros, allocated nonzeros, memory */
19*1a1c3055SLois 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;
231fb19edaSLois Curfman McInnes } Mat_AIJ;
24b8a66259SBarry Smith 
252d40f771SBarry Smith #endif
26