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