Actual source code: pfimpl.h

  1: #ifndef PETSC_PFIMPL_H
  2: #define PETSC_PFIMPL_H

  4: #include <petscpf.h>
  5: #include <petsc/private/petscimpl.h>
  6: #include <petscviewer.h>

  8: PETSC_EXTERN PetscBool      PFRegisterAllCalled;
  9: PETSC_EXTERN PetscErrorCode PFRegisterAll(void);

 11: typedef struct _PFOps *PFOps;
 12: struct _PFOps {
 13:   PetscErrorCode (*apply)(void *, PetscInt, const PetscScalar *, PetscScalar *);
 14:   PetscErrorCode (*applyvec)(void *, Vec, Vec);
 15:   PetscErrorCode (*destroy)(void *);
 16:   PetscErrorCode (*view)(void *, PetscViewer);
 17:   PetscErrorCode (*setfromoptions)(PF, PetscOptionItems *);
 18: };

 20: struct _p_PF {
 21:   PETSCHEADER(struct _PFOps);
 22:   PetscInt dimin, dimout; /* dimension of input and output spaces */
 23:   void    *data;
 24: };

 26: #endif // PETSC_PFIMPL_H