1 /* $Id: is.h,v 1.16 1995/10/11 17:59:04 curfman Exp bsmith $ */ 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 ISCreateSeq(MPI_Comm,int,int *,IS *); 15 extern int ISCreateStrideSeq(MPI_Comm,int,int,int,IS *); 16 extern int ISAddStrideSeq(IS*,int,int,int); 17 extern int ISStrideGetInfo(IS,int *,int*); 18 19 extern int ISSetPermutation(IS); 20 extern int ISIsPermutation(IS); 21 extern int ISSetIdentity(IS); 22 extern int ISIsIdentity(IS); 23 24 extern int ISGetIndices(IS,int **); 25 extern int ISRestoreIndices(IS,int **); 26 extern int ISGetSize(IS,int *); 27 extern int ISGetLocalSize(IS,int *); 28 extern int ISDestroy(IS); 29 extern int ISInvertPermutation(IS,IS*); 30 extern int ISView(IS,Viewer); 31 32 typedef enum {IS_SEQ=0, IS_STRIDE_SEQ=2} IndexSetType; 33 34 #endif 35