xref: /petsc/src/vec/pf/pfimpl.h (revision 9895aa37ac365bac650f6bd8bf977519f7222510)
1 
2 #if !defined(_PFIMPL)
3 #define _PFIMPL
4 
5 #include <petscpf.h>
6 #include <petsc-private/petscimpl.h>
7 #include <petscviewer.h>
8 
9 typedef struct _PFOps *PFOps;
10 struct _PFOps {
11   PetscErrorCode (*apply)(void*,PetscInt,const PetscScalar*,PetscScalar*);
12   PetscErrorCode (*applyvec)(void*,Vec,Vec);
13   PetscErrorCode (*destroy)(void*);
14   PetscErrorCode (*view)(void*,PetscViewer);
15   PetscErrorCode (*setfromoptions)(PF);
16 };
17 
18 struct _p_PF {
19   PETSCHEADER(struct _PFOps);
20   PetscInt dimin,dimout;             /* dimension of input and output spaces */
21   void     *data;
22 };
23 
24 #endif
25