xref: /petsc/src/mat/impls/dense/seq/dense.h (revision 4482741e5b2e2bbc854fb1f8dba65221386520f2)
1 /* $Id: dense.h,v 1.10 2001/08/07 03:02:45 balay Exp $ */
2 
3 #if !defined(__DENSE_H)
4 #define __DENSE_H
5 #include "src/mat/matimpl.h"
6 
7 
8 /*
9   MATSEQDENSE format - conventional dense Fortran storage (by columns)
10 */
11 
12 typedef struct {
13   PetscScalar  *v;                /* matrix elements */
14   PetscTruth   roworiented;       /* if true, row oriented input (default) */
15   int          pad;               /* padding */
16   int          *pivots;           /* pivots in LU factorization */
17   int          lda;               /* Lapack leading dimension of user data */
18   PetscTruth   user_alloc;        /* true if the user provided the dense data */
19 } Mat_SeqDense;
20 
21 EXTERN int MatMult_SeqDense(Mat A,Vec,Vec);
22 EXTERN int MatMultAdd_SeqDense(Mat A,Vec,Vec,Vec);
23 EXTERN int MatMultTranspose_SeqDense(Mat A,Vec,Vec);
24 EXTERN int MatMultTransposeAdd_SeqDense(Mat A,Vec,Vec,Vec);
25 
26 #endif
27