1 /* $Id: snes.h,v 1.17 1995/06/02 21:05:19 bsmith Exp $ */ 2 3 /* 4 An index set is essentially a subset of the integers 5 */ 6 #if !defined(__IS_PACKAGE) 7 #define __IS_PACKAGE 8 #include "petsc.h" 9 10 #define IS_COOKIE PETSC_COOKIE+2 11 12 typedef struct _IS* IS; 13 14 extern int ISCreateSequential(MPI_Comm,int,int *,IS *); 15 extern int ISCreateMPI(int,int,int *,MPI_Comm,IS *); 16 extern int ISCreateStrideSequential(MPI_Comm,int,int,int,IS *); 17 extern int ISAddStrideSequential(IS*,int,int,int); 18 extern int ISStrideGetInfo(IS,int *,int*); 19 20 extern int ISSetPermutation(IS); 21 extern int ISIsPermutation(IS); 22 extern int ISGetIndices(IS,int **); 23 extern int ISRestoreIndices(IS,int **); 24 extern int ISGetSize(IS,int *); 25 extern int ISGetLocalSize(IS,int *); 26 extern int ISDestroy(IS); 27 extern int ISInvertPermutation(IS,IS*); 28 extern int ISView(IS,Viewer); 29 30 #define ISGENERALSEQUENTIAL 0 31 #define ISSTRIDESEQUENTIAL 2 32 #define ISGENERALPARALLEL 1 33 34 #endif 35