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