xref: /petsc/src/mat/impls/aij/seq/aij.h (revision a4d6b403b0c8bb7c068e055e693576e624a321a6)
1 /* $Id: pdvec.c,v 1.10 1995/06/07 17:30:43 bsmith Exp $ */
2 
3 #include "matimpl.h"
4 #include <math.h>
5 
6 #if !defined(__AIJ_H)
7 #define __AIJ_H
8 
9 /*  The i[] and j[] arrays start at 1 not zero to support Fortran 77 */
10 /*  In Fortran j[i[k]+p-1] is the pth column in row k */
11 
12 /*
13     singlemalloc indicates that a, i and j where all obtained with
14   one big malloc
15 */
16 typedef struct {
17   int    sorted, roworiented, nonew, singlemalloc,assembled;
18   int    m,n;                    /* rows, columns */
19   int    nz,maxnz,mem;           /* nonzeros, allocated nonzeros, memory */
20   int    *diag,                  /* diagonal elements */
21          *i,*imax, *ilen,        /* j + i[k] - 1  is start of row k */
22          *j;                     /* ilen is actual lenght of row */
23   Scalar *a;
24   IS     row,col;
25   Scalar *solve_work;            /* work space used in MatSolve_AIJ */
26 } Mat_AIJ;
27 
28 #endif
29