4: #include src/mat/matimpl.h 6: /* Pure virtual base class upon which AIJ matrices are derived */
7: /* Info about PETSc's csr data structure */
8: #define MAT_CSR_HEADER \ 9: PetscInt nz; /* nonzeros */ \ 10: PetscInt *i; /* pointer to beginning of each row */ \ 11: PetscInt *j; /* column values: j + i[k] - 1 is start of row k */ \ 12: PetscInt *diag; /* pointers to diagonal elements */ \ 13: PetscScalar *a; /* nonzero elements */ \ 14: PetscScalar *solve_work; /* work space used in MatSolve */ \ 15: IS row, col, icol /* index sets, used for reorderings */ 17: typedef struct {
18: MAT_CSR_HEADER;
19: } Mat_csr;
21: #endif