xref: /petsc/src/mat/impls/aij/seq/crl/crl.h (revision 3ea99036a5fedea4d39e7e77471d0ab500c249d7)
1 #ifndef CRL_H
2 #define CRL_H
3 
4 #include <../src/mat/impls/aij/seq/aij.h>
5 
6 typedef struct {
7   PetscInt     nz;
8   PetscInt     m;     /* number of rows */
9   PetscInt     rmax;  /* maximum number of columns in a row */
10   PetscInt     ncols; /* number of columns in each row */
11   PetscInt    *icols; /* columns of nonzeros, stored one column at a time */
12   PetscScalar *acols; /* values of nonzeros, stored as icols */
13   /* these are only needed for the parallel case */
14   Vec          xwork, fwork;
15   VecScatter   xscat; /* gathers the locally needed part of global vector */
16   PetscScalar *array; /* array used to create xwork */
17 } Mat_AIJCRL;
18 
19 #endif
20