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: };