/* $Id: ao.h,v 1.3 1997/05/23 16:06:25 balay Exp bsmith $ */ /* An application ordering is mapping between application-centric ordering (the ordering that is "natural" to the application) and the parallel ordering that PETSc uses. */ #if !defined(__AO_PACKAGE) #define __AO_PACKAGE #include "is.h" typedef enum {AO_DEBUG=0, AO_BASIC=1} AOType; #define AO_COOKIE PETSC_COOKIE+20 typedef struct _p_AO* AO; extern int AOCreateDebug(MPI_Comm,int,int*,int*,AO*); extern int AOCreateDebugIS(MPI_Comm,IS,IS,AO*); extern int AOCreateBasic(MPI_Comm,int,int*,int*,AO*); extern int AOCreateBasicIS(MPI_Comm,IS,IS,AO*); extern int AOPetscToApplication(AO,int,int*); extern int AOApplicationToPetsc(AO,int,int*); extern int AOPetscToApplicationIS(AO,IS); extern int AOApplicationToPetscIS(AO,IS); extern int AODestroy(AO); extern int AOView(AO,Viewer); /* ----------------------------------------------------*/ typedef enum {AODATA_DEBUG=0, AODATA_BASIC=1} AODataType; #endif