Actual source code: crl.h

  1: #pragma once

  3: #include <../src/mat/impls/aij/seq/aij.h>

  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;