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