Actual source code: pfimpl.h
1: #pragma once
3: #include <petscpf.h>
4: #include <petsc/private/petscimpl.h>
5: #include <petscviewer.h>
7: PETSC_EXTERN PetscBool PFRegisterAllCalled;
8: PETSC_EXTERN PetscErrorCode PFRegisterAll(void);
10: typedef struct _PFOps *PFOps;
11: struct _PFOps {
12: PetscErrorCode (*apply)(void *, PetscInt, const PetscScalar *, PetscScalar *);
13: PetscErrorCode (*applyvec)(void *, Vec, Vec);
14: PetscErrorCode (*destroy)(void *);
15: PetscErrorCode (*view)(void *, PetscViewer);
16: PetscErrorCode (*setfromoptions)(PF, PetscOptionItems *);
17: };
19: struct _p_PF {
20: PETSCHEADER(struct _PFOps);
21: PetscInt dimin, dimout; /* dimension of input and output spaces */
22: void *data;
23: };