Actual source code: aoimpl.h

  1: /* 
  2:    This private file should not be included in users' code.
  3: */

  5: #ifndef __AOIMPL 

 8:  #include petscao.h

 10: /*
 11:     Defines the abstract AO operations
 12: */
 13: struct _AOOps {
 14:   /* Generic Operations */
 15:   PetscErrorCode (*view)(AO, PetscViewer);
 16:   PetscErrorCode (*destroy)(AO);
 17:   /* AO-Specific Operations */
 18:   PetscErrorCode (*petsctoapplication)(AO, PetscInt, PetscInt[]);
 19:   PetscErrorCode (*applicationtopetsc)(AO, PetscInt, PetscInt[]);
 20:   PetscErrorCode (*petsctoapplicationpermuteint)(AO, PetscInt, PetscInt[]);
 21:   PetscErrorCode (*applicationtopetscpermuteint)(AO, PetscInt, PetscInt[]);
 22:   PetscErrorCode (*petsctoapplicationpermutereal)(AO, PetscInt, PetscReal[]);
 23:   PetscErrorCode (*applicationtopetscpermutereal)(AO, PetscInt, PetscReal[]);
 24: };

 26: struct _p_AO {
 27:   PETSCHEADER(struct _AOOps);
 28:   void          *data;                   /* implementation-specific data */
 29:   PetscInt      N,n;                    /* global, local vector size */
 30: };



 35: #endif