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