xref: /petsc/src/mat/impls/aij/seq/crl/crl.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1*a4963045SJacob Faibussowitsch #pragma once
2805d1734SBarry Smith 
3c6db04a5SJed Brown #include <../src/mat/impls/aij/seq/aij.h>
4805d1734SBarry Smith 
5805d1734SBarry Smith typedef struct {
6805d1734SBarry Smith   PetscInt     nz;
7805d1734SBarry Smith   PetscInt     m;     /* number of rows */
8805d1734SBarry Smith   PetscInt     rmax;  /* maximum number of columns in a row */
9805d1734SBarry Smith   PetscInt     ncols; /* number of columns in each row */
10805d1734SBarry Smith   PetscInt    *icols; /* columns of nonzeros, stored one column at a time */
11805d1734SBarry Smith   PetscScalar *acols; /* values of nonzeros, stored as icols */
12805d1734SBarry Smith   /* these are only needed for the parallel case */
13805d1734SBarry Smith   Vec          xwork, fwork;
14805d1734SBarry Smith   VecScatter   xscat; /* gathers the locally needed part of global vector */
159222b4acSBarry Smith   PetscScalar *array; /* array used to create xwork */
165a11e1b2SBarry Smith } Mat_AIJCRL;
17