xref: /petsc/src/mat/impls/dense/seq/dense.h (revision 70f55243aafb320636e2a54ff30cab5d1e8d3d7b)
1*70f55243SBarry Smith /* $Id: dense.h,v 1.3 1996/04/09 20:24:20 curfman Exp bsmith $ */
2f6f390a9SLois Curfman McInnes 
3*70f55243SBarry Smith #include "src/mat/matimpl.h"
4f6f390a9SLois Curfman McInnes #include <math.h>
5f6f390a9SLois Curfman McInnes 
6f6f390a9SLois Curfman McInnes #if !defined(__DENSE_H)
7f6f390a9SLois Curfman McInnes #define __DENSE_H
8f6f390a9SLois Curfman McInnes 
9f6f390a9SLois Curfman McInnes /*
10f6f390a9SLois Curfman McInnes   MATSEQDENSE format - conventional dense Fortran storage (by columns)
11f6f390a9SLois Curfman McInnes */
12f6f390a9SLois Curfman McInnes 
13f6f390a9SLois Curfman McInnes typedef struct {
14f6f390a9SLois Curfman McInnes   Scalar *v;                /* matrix elements */
15f6f390a9SLois Curfman McInnes   int    roworiented;       /* if true, row oriented input (default) */
16f6f390a9SLois Curfman McInnes   int    m, n;              /* rows, columns */
17f6f390a9SLois Curfman McInnes   int    pad;               /* padding */
18f6f390a9SLois Curfman McInnes   int    *pivots;           /* pivots in LU factorization */
19bea6f7a8SLois Curfman McInnes   int    user_alloc;        /* true if the user provided the dense data */
20f6f390a9SLois Curfman McInnes } Mat_SeqDense;
21f6f390a9SLois Curfman McInnes 
2218476b09SLois Curfman McInnes extern int MatMult_SeqDense(Mat A,Vec,Vec);
2318476b09SLois Curfman McInnes extern int MatMultAdd_SeqDense(Mat A,Vec,Vec,Vec);
2418476b09SLois Curfman McInnes extern int MatMultTrans_SeqDense(Mat A,Vec,Vec);
2518476b09SLois Curfman McInnes extern int MatMultTransAdd_SeqDense(Mat A,Vec,Vec,Vec);
2618476b09SLois Curfman McInnes 
27f6f390a9SLois Curfman McInnes #endif
28