1*7588ac45SBarry Smith /* $Id: ao.h,v 1.1 1996/06/25 19:10:32 bsmith Exp bsmith $ */ 2*7588ac45SBarry Smith 3230e2716SBarry Smith /* 4230e2716SBarry Smith An application ordering is mapping between application-centric 5*7588ac45SBarry Smith ordering (the ordering that is "natural" to the application) and 6*7588ac45SBarry Smith the parallel ordering that PETSc uses. 7*7588ac45SBarry Smith */ 8*7588ac45SBarry Smith #if !defined(__AO_PACKAGE) 9*7588ac45SBarry Smith #define __AO_PACKAGE 10*7588ac45SBarry Smith #include "is.h" 11*7588ac45SBarry Smith 12*7588ac45SBarry Smith typedef enum {AO_DEBUG=0, AO_BASIC=1} AOType; 13*7588ac45SBarry Smith 14*7588ac45SBarry Smith #define AO_COOKIE PETSC_COOKIE+20 15*7588ac45SBarry Smith 16*7588ac45SBarry Smith typedef struct _AO* AO; 17*7588ac45SBarry Smith 18*7588ac45SBarry Smith extern int AOCreateDebug(MPI_Comm,int,int*,int*,AO*); 19*7588ac45SBarry Smith extern int AOCreateDebugIS(MPI_Comm,IS,IS,AO*); 20*7588ac45SBarry Smith 21*7588ac45SBarry Smith extern int AOCreateBasic(MPI_Comm,int,int*,int*,AO*); 22*7588ac45SBarry Smith extern int AOCreateBasicIS(MPI_Comm,IS,IS,AO*); 23*7588ac45SBarry Smith 24*7588ac45SBarry Smith extern int AOPetscToApplication(AO,int,int*); 25*7588ac45SBarry Smith extern int AOApplicationToPetsc(AO,int,int*); 26*7588ac45SBarry Smith extern int AOPetscToApplicationIS(AO,IS); 27*7588ac45SBarry Smith extern int AOApplicationToPetscIS(AO,IS); 28*7588ac45SBarry Smith 29*7588ac45SBarry Smith extern int AODestroy(AO); 30*7588ac45SBarry Smith extern int AOView(AO,Viewer); 31*7588ac45SBarry Smith 32*7588ac45SBarry Smith #endif 33*7588ac45SBarry Smith 34230e2716SBarry Smith 35