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